在MATLAB中,我们可以对矩阵的行和列进行操作."特定行或列特定"的含义是什么?我很抱歉这个天真的问题.谢谢!
cha*_*pjc 31
重要的是要理解MATLAB按列主要顺序存储数据,因此您知道在应用colon运算符时没有任何逗号会发生什么:
>> M = magic(3)
M =
8 1 6
3 5 7
4 9 2
>> M(:)
ans =
8
3
4
1
5
9
6
7
2
Run Code Online (Sandbox Code Playgroud)
我倾向于认为"MATLAB下降,然后跨越".这可以很容易地reshape和permute阵列,而不扰乱你的数据.为了掌握线性索引(例如M(4)),也是必要的.
例如,从生成数组的某个表达式获取内联列向量的常用方法是:
reshape(<array expression>,[],1)
Run Code Online (Sandbox Code Playgroud)
与(:)此一样,将所有列彼此叠加成单列向量,用于任何更高维度的所有数据.但是这个漂亮的语法技巧可以避免额外的代码行.
在MATLAB中,数组按列主要顺序存储.
这意味着当你有一个多维数组时,它在内存中的1D表示使得最左边的索引变化得更快.
它被称为列主要顺序,因为对于2D数组(矩阵),第一个(最左边)索引通常是行索引,因此它变化得比第二个(右边)索引更快,矩阵的1D表示是内存对应于矩阵列的串联.