2 Stimmen

Hinzufügen von Nullen zu einer Liste

Ich versuche, einen Weg zu finden, um zwei Listen auf die gleiche Länge zu bringen. Wie kann ich Nullen zu einer Liste hinzufügen, um sie auf die gleiche Länge wie die erste zu bringen?

d.h. list1=[ 1 2 3 4 5]; list2=[ 1 2 3]

3voto

Jonas Punkte 74252

Es gibt viele Möglichkeiten, wie Sie das tun können. Einer von ihnen ist

list3 = zeros(size(list1)); %# erstellen Sie ein Array mit der gleichen Form wie list1
list3(1:numel(list2)) = list2(:); %# füllen Sie die in list2 definierten Elemente ein

Ein weiterer Weg ist

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

Beide Methoden setzen voraus, dass list2 kürzer ist als list1.

2voto

Memphis Punkte 96

Hier ist eine Kurzfassung für den Fall, dass Sie wissen, dass list2 kürzer ist als list1

list2(numel(list1)) = 0;

1voto

Shishir Pandey Punkte 782

Angenommen, Sie wissen nicht, welche der beiden Listen größer ist. Sie können folgendes tun:

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

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

(Das funktioniert auf Octave)

l1 = list1
l2 = list2

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X