在所有其他语言中,如果我有一个矩阵,如果我调用一维索引,结果将是一个数组。我不知道为什么在 Matlab 中,如果你取一个矩阵的单个索引,你会得到一个元素,这很愚蠢。
无论如何在C中:
mat[4][4];
mat[0] 是一个数组。
在 Matlab 中:
mat=[1 2; 3 4];
如何取矩阵的第一行?mat(1) 是 1,而不是 [1 2]。
编辑:还有另一个问题,我有这个功能的问题:
function str= split(string, del)
index=1;
found=0;
str=['' ; ''];
for i=1:length(string)
if string(i)==del
found=1;
index=1;
elseif found==1
str(2,index)=string(i);
index=index+1;
else
str(1,index)=string(i);
index=index+1;
end
end
end
这有时会返回一个矩阵,有时会返回一个数组。
例如,如果我使用 split('FF','.') 我得到 'FF' 作为结果,但是如果我想返回一个矩阵怎么办?我什至不能选择矩阵的维度,在这种情况下,弱类型语言是一个很大的缺点。