|
|
Variablennummerierung mit Schleife |
|
Troll |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.07.2012, 12:04
Titel: Variablennummerierung mit Schleife
|
 |
Hallo,
ich hab ein Problem bei der Indizierung von Matrizen.
Ich will mit einer for Schleife eine gewisse Anzahl an Matrizen erstellen.
Es funktioniert jedoch nicht, dass die Matrizen mit den Namen Kombination 1 bis Kombination n angelegt werden. Wie kann ich das Problem lösen. Es kommt mir auch nur darauf an.
Gruß
Troll
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 30.07.2012, 13:50
Titel: Re: Variablennummerierung mit Schleife
|
 |
Hallo Troll,
Ja, genau, und das ist auch gut so. Einen Haufen von Variablen zu erstellen, die eine Indizierung in ihrem Namen verstecken, führt zu sehr kompliziertem Code, der kaum zu debuggen ist und nur sehr mühsam erweitert werden kann.
Deshalb wird dies auch in den FAQ behandelt: http://matlab.wikia.com/wiki/FAQ#Ho......2C....2CA10_in_a_loop.3F.
Es ist viel besser Indizes als Indizes zu verwenden! Klingt trivial, ist es auch:
Sieht schon gleich hübscher aus.
Nebenbei hatte Dein Ansatz auf der linken Seite einen String erzeugt. Zwar wird eine Variable auch per String adressiert, das bedeutet aber nicht, dass ein String als Variable benutzt werden kann. Das ist mit Namen von Menschen genauso: Ich kann zwar eine Person "Jörg" nennen und "Jörg" auch einen Zettel schreiben. Wenn ich dann aber "Jörg = 'reich'" dazu schreibe, wird die Person auch nicht mehr Geld in der Tasche haben. Schade eigentlich.
Gruß, Jan
|
|
|
Troll |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.07.2012, 14:42
Titel:
|
 |
Hallo,
danke für deine Antwort.
Ich benötige jedoch mehrere Einzelmatrizen, da die Maximale Größe einer Matrix (sowohl Dimension als auch Speicher) bei meiner Anwendung schnell erreicht wird und dort keine Nullen drin stehen.
Von daher würde ich gern eine Schleife haben die mir n einzelne Matrizen generiert, die alle Kombination x heißen. Beispiel:
Kombination1
Kombination2
Kombination3
...
Alle sollen eine mit Einsen besetzte Matrix sein.
Gruß
Christoph
|
|
|
Troll |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.07.2012, 18:49
Titel:
|
 |
hab eine möglichkeit gefunden.
Gruß
Troll
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 30.07.2012, 22:04
Titel:
|
 |
Hallo,
meines Wissens haben Cell Arrays abgesehen von den Zeigern, die abgelegt werden müssen, die gleiche Speichereffizienz wie mehrere verschiedene Variablen.
Ich stimme Jan zu, dass der Code auf deine Art schnell schwierig bis unmöglich zu verstehen und zu debuggen wird.
Grüße,
Harald
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 31.07.2012, 04:29
Titel:
|
 |
Hallo Troll,
Zitat: |
Ich benötige jedoch mehrere Einzelmatrizen, da die Maximale Größe einer Matrix (sowohl Dimension als auch Speicher) bei meiner Anwendung schnell erreicht wird und dort keine Nullen drin stehen. |
Ich verstehe nicht, weshalb diese Argumente die Nutzung eines Cell-Arrays ausschließen.
EVAL ist auf jeden Fall eine schlechte Alternative.
Gruß, Jan
|
|
|
|
|
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.
|
|