Befehl zum Auffüllen von Nullen an bestimmten Stellen in Binärzahlen?

Ich muss Nullen an bestimmten Stellen in Binärzahlen auffüllen. Durchlaufen der Array-Form einer Binärzahl wie zdec2bin(43) und das Hinzufügen der Nullen und das Einstellen der Größe klingt nach einer Neuerfindung des Rades.

Wie füllt man in Matlab effizient Nullen mit Binärzahlen auf?

Looping

positions=[1,3,6];
x=de2bi(43);
xx=flip(x);    

kk=1;
for ii=1:length(x)+length(positions)
    if isequal(positions(kk),xx(ii))
         %Transfer the tail from ii by one index ahead,
         %left out here because I think my method is bad!
         x(ii)=0;
         positions=positions+1;  %Increase positions by one now due to one padding
         kk=kk+1;
    end
end

Das fühlt sich zu viel Neuerfindung an: Wie kann man im Grunde genommen 0 von xxxxYabcd nach xxxx0Yabcd bekommen, wobei xxxxYabcd eine Binärzahl ist?

Beispiel

Eingang

101011, (1,3,6)

Ausgabe

100100110

1x010x11x (zeigt die Position der Nullen mit x an, an der Nullen eingefügt wurden)

Antworten auf die Frage(5)

Ihre Antwort auf die Frage