【发布时间】:2015-09-20 23:13:28
【问题描述】:
假设我有一个大小为5x1 的向量a,并在该向量的开头填充零。零的数量是使用randn 函数生成的。由于randn,向量在for 循环中填充了随机数量的零。我想将这些不同大小的向量存储在一个矩阵中,但我无法想出如何做到这一点(除了事先固定矩阵的大小。这是相同的 MWE:
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
在第二次迭代中,由于temp_mat(:,ii) = shifted_a处的赋值不匹配,matlab肯定会抛出错误。有没有一种方法可以将所有这些向量放在一个矩阵中,而不必提前固定矩阵的大小。
【问题讨论】:
-
矩阵只能有常规大小。也许您应该改用
cells,即将每个移位的vector保存在一个cell中。