在MATLAB中,这些数组定义之间有什么区别?

在MATLAB中,这些数组定义之间有什么区别?,matlab,Matlab,我试图理解这些数组定义之间的差异: abc=[ 0 0 0 0 0 0] 及 在C中,第一个定义是 int abc[]={0,0,0,0,0,0}; 第二个定义是 int [6][1]= {{0},{0},{0},{0},{0},{0}}; 我说的对吗 abc = [1 2 3 4] 是一个“行向量” 是2x2矩阵,因为括号内的分号分隔行 abc = [1; 2; 3; 4] 是一个4x1矩阵,也称为“列向量”。这是矩阵的一个特例,真的。也可以通过转置相应的行向量来获得它: ab

我试图理解这些数组定义之间的差异:

abc=[ 0 0 0 0 0 0]

在C中,第一个定义是

int abc[]={0,0,0,0,0,0};
第二个定义是

int [6][1]= {{0},{0},{0},{0},{0},{0}};   
我说的对吗

abc = [1 2 3 4]
是一个“行向量”

是2x2矩阵,因为括号内的分号分隔行

abc = [1; 2; 3; 4]
是一个4x1矩阵,也称为“列向量”。这是矩阵的一个特例,真的。也可以通过转置相应的行向量来获得它:

abc = [1 2 3 4]'
(注意末尾的引号-这是转置)



注:是的,在这种情况下,您对C的解释是正确的。

thx eli女士。我正在努力学习matlab,你能说我是个好资源吗?@ironykchel:matlab文档很好,谷歌搜索“matlab教程”就可以了rest@ironykchel找到有趣的问题并试着解决:)这是最好的学习方式,伊姆霍。你看过matlabcentral网页上的文件交换了吗?有时候,看看别人是如何解决他们的问题是很有趣的。我要补充一点,就是要小心“复杂共轭转置算子”。如果你的数据是复杂的,它会产生共轭转置。如果您只想像转置一样改变数组的形状,则.'运算符将生成一个非共轭转置。如果你的数组是实的,那么它们是相同的运算符。Matlab也是主要的列,所以向下扫描列比向上扫描行要快。列主顺序意味着一列中的元素在内存中是连续的,而一行中的元素则相距更远。向下扫描列可以提高缓存效率。
abc = [1; 2; 3; 4]
abc = [1 2 3 4]'