|
|
alternative Sequenz von mehreren Einsen und Nullen |
|
mareif |

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 17.09.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.09.2014, 11:34
Titel: alternative Sequenz von mehreren Einsen und Nullen
|
 |
Hallo zusammen,
angenommen ich habe folgenden Vektor w=[w1,w2,w3,w4,...]. Nun würde ich gerne einen zweiten Vektor v erzeugen, mit folgenden Einträgen:
v=[w1 Einsen, w2 Nullen, w3 Einsen, w4 Nullen,...]
Hier ein Beispiel:
w=[2 4 2 6 1];
Dann sollte der zweite Vektor v wie folgt aussehen:
v=[1 1 0 0 0 0 1 1 0 0 0 0 0 0 1]
Hier ist mein code (bisher):
----------------------------------
Der Code schein mir, v.a. für große Vektoren w bzw. mit großen Einträgen, nicht sehr effizient. Hat jemand eine Idee, wie ich das effizienter machen kann?
Danke im Voraus!
|
|
|
|
|
Nras |

Forum-Meister
|
 |
Beiträge: 608
|
 |
|
 |
Anmeldedatum: 21.02.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.12.0.635 (R2011a)
|
 |
|
|
 |
|
Verfasst am: 17.09.2014, 11:38
Titel:
|
 |
Hallo,
das ist ein Spezialfall des "runlength decodings". Ein sehr ausführliches Beispiel von Jan S. findest du hier: http://www.mathworks.com/matlabcent.....eexchange/41813-runlength
Die vektorisierte Version ist deutlich schneller als die Schleifenversion. Sollte das noch nicht schell genug sein, kannst du ja das mex-file benutzen.
Falls es damit nicht klappt, bitte deinen Versuch posten und gezielt das Problem schildern, dann kriegst du sicherlich mehr Hilfe.
Viele Grüße,
Nras.
|
|
|
mareif |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 17.09.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.09.2014, 20:59
Titel:
|
 |
Hallo Nras,
vielen Dank. Runlength decoding war mir neu. Der vektorisierte Code ist vollkommen ausreichend (bisher ). Hat alles geklappt!
Danke, Mareif
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|