下面的代碼,我有作爲例子:初始化一個三維矩陣,並添加新的數據
aaa = [];
bbb = [];
for ii = 1:10
[aaa(:,:,end+1), bbb(:,end+1)] = myfunction();
end
功能myfunction
:
function [aaa, bbb] = myfunction()
aaa = rand(5,3);
bbb = rand(5,1);
end
我知道我可以使用ii
從發送輸出變量爲aaa
和bbb
,如[aaa(:,:,ii), bbb(:,ii)] = myfunction()
。我只是想知道爲什麼爲aaa
我生成一個5x3x11矩陣(不應該是5x3x10?)?。對於bbb
,它正確地生成一個5x10矩陣。因此,爲什麼end + 1
適用於bbb
而不適用於aaa
?
非常有趣。 MATLAB有一些空矩陣不直觀的怪癖。 – chappjc
因此,解決方案將是第一個案件的條件? –