Zum Beispiel Ich habe eine binäre Array mit der Größe von 9 als b = [0 1 0 1 0 1 1 1 1], Dann ein weiteres Array 'm' mit der Größe 7 als m = [21 28 36 45 45 66 66]. Hier möchte ich alle Nullen von 'b' durch das erste Element von m ändern und dann die 1en von b durch aufeinanderfolgende Elemente von 'm' ersetzen, so dass meine Ausgabe-1D-Anordnung wie folgt aussehen sollte: [21 28 21 36 21 45 45 66 66] . Unten ist mein Code, ich weiß wirklich nicht, wo ich Fehler mir hätte bitte helfen, diesenWie verschachtelte oder doppelte for-Schleife in Matlab zu verwenden, um neue 1D-Array durch den Vergleich bestehenden 1D-Array
b= [0 1 0 1 0 1 1 1 1];
b=b(:);
m = [21 28 36 45 45 66 66];
m = m(:);
k=zeros(size(b));
for i=1:length(b)
for j=2:length(m)
if b(i)==0
k(i)=m(1);
else
k(i)=m(j);
end
end
end
sind immer Ausgang als k = [66 21 66 21 21 66 66 66 66] zu lösen