下面的代码,我有作为例子:初始化一个三维矩阵,并添加新的数据
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
因此,解决方案将是第一个案件的条件? –