📅  最后修改于: 2023-12-03 15:07:04.415000             🧑  作者: Mango
在 Matlab 或 Octave 中,通常我们会用到 :
符号来生成等间隔的向量序列,例如:
>> x = 1:5
x =
1 2 3 4 5
但实际上,这种方式只能生成等间隔的向量,如果需要生成不等间隔的向量,就需要用到 a:b:c
的语法格式。
其中,a
、b
、c
分别表示生成向量的起始值、终止值、步长,具体使用方法如下:
>> x = a:b:c
这里的 a
、b
、c
都可以是任意实数或整数,唯一的限制是,当 c
为正数时,a <= b
必须成立;反之,当 c
为负数时,a >= b
必须成立。
下面是一些典型的使用示例:
>> x = 1:0.5:3
x =
1.0000 1.5000 2.0000 2.5000 3.0000
>> x = -1:0.1:1
x =
-1.0000 -0.9000 -0.8000 -0.7000 -0.6000 -0.5000 -0.4000 -0.3000
-0.2000 -0.1000 0 0.1000 0.2000 0.3000 0.4000 0.5000
0.6000 0.7000 0.8000 0.9000 1.0000
>> t = pi:-pi/4:0
t =
3.1416 2.3562 1.5708 0.7854 0
需要注意的是,当 c
足够小的时候,生成的向量长度可能会很大,导致内存消耗过大甚至无法创建向量。因此,在使用 a:b:c
的语法时,一定要注意控制 c
的大小。
参考文献:
[1] Octave documentation: https://octave.org/doc/v4.2.1/Creating-Arrays-with-a_002fb_002fc_002f-colon-Notation.html