将零添加到列表中

时间:2011-04-17 22:48:18

标签: list matlab zero

我试图找到一种方法来使两个列表具有相同的长度。如何将零添加到一个列表中,以使其与第一个列表具有相同的长度?

即。 list1 = [1 2 3 4 5]; list2 = [1 2 3]

3 个答案:

答案 0 :(得分:3)

有很多方法可以做到这一点。其中之一是

list3 = zeros(size(list1)); %# create an array of the same shape as list1
list3(1:numel(list2)) = list2(:); %# fill in the elements defined in list2

另一种方式是

list3 = [list2, zeros(1,length(list1)-length(list2))];

这两种方式都假设list2list1短。

答案 1 :(得分:2)

如果你知道list2比list1

更短,那么这是一个单行
list2(numel(list1)) = 0;

答案 2 :(得分:1)

假设您不知道两个列表中哪一个更大。您可以执行以下操作:

dif = size(l2)-size(l1);

if dif(2) < 0
    l2 = [l2, zeros(1, -dif(2))];
else
    l1 = [l1, zeros(1, dif(2))];
end

(这适用于八度)

l1 = list1
l2 = list2