我们都知道matlab冒号运算符来创建一个线性序列,即
1:5 = [1 2 3 4 5]
Run Code Online (Sandbox Code Playgroud)
现在我发现冒号运算符的参数也可以应用于向量或矩阵.但是我不明白背后的定义.
例子
[1 2 3 4]:5 == [1 2 3 4 5]
[1 2; 3 4]:3 == [1 2 3]
Run Code Online (Sandbox Code Playgroud)
为什么是这样?
第二个参数也可以是矢量或矩阵.
最后,我想了解诸如此类的序列
1:2:3:4:5
Run Code Online (Sandbox Code Playgroud)
这是完全合法的matlab和[1 5]顺便说一句!
注意1:2:3:4:5:6是左关联的,即解析为((1:2:3):4:5):6.
那么带有矩阵/向量参数的冒号运算符的行为是什么?
编辑:纠正了左关联的陈述.
Dan*_*iel 14
冒号运算符的文档说:
如果指定非标量数组,则MATLAB将j:i:k解释为j(1):i(1):k(1).
你的第一个例子被解释为1:3,第二个例子被解释为1:5
具有两个以上的表达式:被解析为左关联:
a:b:c:d:e==(a:b:c):d:e
Run Code Online (Sandbox Code Playgroud)
.
>> 1:2:3:4:5
ans =
1 5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
418 次 |
| 最近记录: |