我试图将两个向量相加;然而,它们的维度不同。仅举个例子(因为我正在执行的操作有1000多个值),向量是:
a = [1 2 3 4 5];
b = [1 2];
因为它们的维度不同,所以我想简单地向向量b
添加零,以匹配向量a
的维度。
使用代码b(numel(a)) = 0;
,我能够做到这一点。然而,我对它的工作原理相当困惑,因为我只在互联网上看到了这段代码。我知道numel(a)
等于5,但我不知道代码如何能够在变量b
的1 2
之后添加零,以匹配变量a
的维度。
有谁能解释一下吗?
1条答案
按热度按时间bakd9h0s1#
当您设置
b(5) = 0
时,matlab不能简单地保留中间元素b(3:4)
为空,因此它们将为零。如果执行b(numel(a)) = 1
,则中间元素仍将填充为零。请记住,这是一条捷径,只有在您知道
b
比a
短的情况下才有效。否则,您将把b
的元素设置为0,这可能不是您想要的。