|
|
Array mit for Schleife füllen |
|
Steeef |

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 02.06.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.06.2014, 11:16
Titel: Array mit for Schleife füllen
|
 |
Hallo zusammen,
ich versuche ein Array mit Werten zu füllen. Dies soll mit zwei for Schleifen gelingen:
Ich erwarte ein array(z) mit 383 Einträgen. Es sollte in etwa so aussehen:
128 mal die 0
64 mal die 1
32 mal die 2
16 mal die 3
8 mal die 4
4 mal die 5
2 mal die 6
1 mal die 7
1 mal die 8
1 mal die 9
2 mal die 10
4 mal die 11
8 mal die 12
16 mal die 13
32 mal die 14
64 mal die 15
Kann mit jemand helfen? Es bricht immer nach dem ersten Durchlauf ab
Gruß
|
|
|
|
|
Nras |

Forum-Meister
|
 |
Beiträge: 608
|
 |
|
 |
Anmeldedatum: 21.02.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.12.0.635 (R2011a)
|
 |
|
|
 |
|
Verfasst am: 11.06.2014, 11:49
Titel:
|
 |
Hallo,
deine For-Schleifen-Syntax hast du bestimmt aus irgendweiner anderen Sprache übernommen und ist so nicht Matlab-like, zumindest wird es nicht das machen, was du dir vorstellst. Vielleicht hilft dir das hier ja schon weiter:
Dein Problem ist ein spezieller Fall der runlength-kodierung. Dazu hat Jan S. etwas im fileexchange hochgeladen, das du dir ansehen solltest http://www.mathworks.com/matlabcent.....eexchange/41813-runlength
Man kommt bei dem Problem komplett ohne eine For-Schleife aus.
Viele Grüße,
Nras.
|
|
|
Steeef |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 02.06.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.06.2014, 12:18
Titel:
|
 |
|
 |
|
Nras hat Folgendes geschrieben: |
Hallo,
deine For-Schleifen-Syntax hast du bestimmt aus irgendweiner anderen Sprache übernommen und ist so nicht Matlab-like, zumindest wird es nicht das machen, was du dir vorstellst. Vielleicht hilft dir das hier ja schon weiter:
Dein Problem ist ein spezieller Fall der runlength-kodierung. Dazu hat Jan S. etwas im fileexchange hochgeladen, das du dir ansehen solltest http://www.mathworks.com/matlabcent.....eexchange/41813-runlength
Man kommt bei dem Problem komplett ohne eine For-Schleife aus.
Viele Grüße,
Nras. |
Hallo Nras.,
ja die Syntax der for-Schleife habe ich aus der Sprache C in Matlab versucht zu übertragen.
Ich verstehe deinen obenstehenden Code nicht so recht. Wenn ich die Zeilen bei mir ausführe dann bekomme ich nur eine 1 zurück.
Hast du einen anderen Vorschlage wie ich mein Problem lösen kann?
Die RLE ist nicht mein Problem. Ich möchte einfach das Array mit den Zahlen füllen. Letztlich soll dieses Array als Sprungtabelle fungieren.
Gruß Steeef
|
|
|
Nras |

Forum-Meister
|
 |
Beiträge: 608
|
 |
|
 |
Anmeldedatum: 21.02.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.12.0.635 (R2011a)
|
 |
|
|
 |
|
Verfasst am: 11.06.2014, 13:02
Titel:
|
 |
Steeef hat Folgendes geschrieben: |
Ich verstehe deinen obenstehenden Code nicht so recht. Wenn ich die Zeilen bei mir ausführe dann bekomme ich nur eine 1 zurück.
|
Genau das wollte ich dir damit sagen. (i<16) wird logisch ausgewertet und ergibt True. True ist eine 1, daher wird deine for-Schleife nach der ersten Iteration beendet.
Als doppelte-Forschleifen-Version etwa so:
Das mit der runlength war schon der richtige Hinweis, du willst das "decoden". Hier der Auszug aus Jans Code mit deinem Beispiel.
Viele Grüße,
Nras.
|
|
|
Steeef |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 02.06.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.06.2014, 13:32
Titel:
|
 |
|
 |
|
Nras hat Folgendes geschrieben: |
Steeef hat Folgendes geschrieben: |
Ich verstehe deinen obenstehenden Code nicht so recht. Wenn ich die Zeilen bei mir ausführe dann bekomme ich nur eine 1 zurück.
|
Genau das wollte ich dir damit sagen. (i<16) wird logisch ausgewertet und ergibt True. True ist eine 1, daher wird deine for-Schleife nach der ersten Iteration beendet.
Als doppelte-Forschleifen-Version etwa so:
Das mit der runlength war schon der richtige Hinweis, du willst das "decoden". Hier der Auszug aus Jans Code mit deinem Beispiel.
Viele Grüße,
Nras. |
Hallo Nras.,
nochmals ich möchte das nicht mit dem RLE Verfahren decodieren und bin daher auch nicht an diesem Verfahren interessiert.
Ich habe dieses Array erstellt um ein weiteres array(z) mit Werten zu füllen:
Zitat: |
Ich erwarte ein array(z) mit 383 Einträgen. Es sollte in etwa so aussehen:
128 mal die 0
64 mal die 1
32 mal die 2
16 mal die 3
8 mal die 4
4 mal die 5
2 mal die 6
1 mal die 7
1 mal die 8
1 mal die 9
2 mal die 10
4 mal die 11
8 mal die 12
16 mal die 13
32 mal die 14
64 mal die 15 |
|
|
|
Nras |

Forum-Meister
|
 |
Beiträge: 608
|
 |
|
 |
Anmeldedatum: 21.02.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.12.0.635 (R2011a)
|
 |
|
|
 |
|
Verfasst am: 11.06.2014, 13:50
Titel:
|
 |
Hey,
dann verstehe ich nicht, was du möchtest. array aus dem doppelte-For-Schleife Beispiel und x aus dem vektorisierten Beispiel sind von der Länge 383 und haben genau 128 Nullen, 64 Einsen, etc... Das ist doch genau das, was du erwartest, oder irre ich mich? Wenn ja, dann musst du mir das noch mal genauer erklären was du möchtest oder auf jemand anderes Hilfe hoffen.
Viele Grüße,
Nras.
|
|
|
Steeef |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 02.06.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.06.2014, 15:25
Titel:
|
 |
Nras hat Folgendes geschrieben: |
Hey,
dann verstehe ich nicht, was du möchtest. array aus dem doppelte-For-Schleife Beispiel und x aus dem vektorisierten Beispiel sind von der Länge 383 und haben genau 128 Nullen, 64 Einsen, etc... Das ist doch genau das, was du erwartest, oder irre ich mich? Wenn ja, dann musst du mir das noch mal genauer erklären was du möchtest oder auf jemand anderes Hilfe hoffen.
Viele Grüße,
Nras. |
Hallo Nras.,
entschuldige ich habe vorhin die Codezeilen völlig übersehen. Habe nur den unten Codeblock von dir gesehen und gleich geantwortet. Selbstverständlich funktioniert das genau so wie ich das wollte.
Vielen Dank für deine Zeit!!
Gruß
|
|
|
|
|
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.
|
|