📜  八度 a:b:c 范围 - Matlab (1)

📅  最后修改于: 2023-12-03 15:07:04.415000             🧑  作者: Mango

Matlab中的八度 (Octave) a:b:c 范围

在 Matlab 或 Octave 中,通常我们会用到 : 符号来生成等间隔的向量序列,例如:

>> x = 1:5
x =
     1     2     3     4     5

但实际上,这种方式只能生成等间隔的向量,如果需要生成不等间隔的向量,就需要用到 a:b:c 的语法格式。

其中,abc 分别表示生成向量的起始值、终止值、步长,具体使用方法如下:

>> x = a:b:c

这里的 abc 都可以是任意实数或整数,唯一的限制是,当 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