请考虑我有一个大小为5x1
的矢量a
,并且在此向量的开头填充零。零的数量是使用randn
函数生成的。由于randn
,矢量在for
循环中被随机数的零填充。我想将这些不同大小的矢量存储在一个单一的矩阵中,我无法想象如何做到这一点(除了在手之前固定矩阵的大小,这里是一个MWE:矩阵中不同大小的行 - matlab
a = rand(5,1)
for ii = 1 : 6
delay = round(abs(randn(1,1)));
shifted_a = [zeros(delay,1);a];
temp_mat(:,ii) = shifted_a
end
在第二次迭代,MATLAB肯定会在temp_mat(:,ii) = shifted_a
抛出一个错误,由于分配不匹配。有没有一种方法,我可以在矩阵中的所有这些载体,而无需固定矩阵的大小提前。
矩阵只能有一个规则的大小。也许你应该使用'cells'来代替,也就是将每个移位的vector都保存在一个cell中。 – Nemesis