他のすべての言語で、行列がある場合、一次元インデックスを呼び出すと、結果は配列になります。Matlabで行列の単一のインデックスを取得すると、単一のインデックスが取得される理由はわかりません。要素、それは愚かです。
とにかくCで:
mat[4][4];
mat[0]は配列です。
Matlabの場合:
mat=[1 2; 3 4];
マトリックスの最初の行を取得するにはどうすればよいですか?mat(1)は1であり、[12]ではありません。
編集:別の問題があります、私はこの関数に問題があります:
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'が得られますが、行列を返したい場合はどうなりますか?行列の次元を選択することすらできません。このコンテキストでは、弱い型の言語は大きな欠点です。