|
Dîger |

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 20.05.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.07.2013, 13:51
Titel: Structure oder Cell?
|
 |
Ich versteh nicht so ganz den Unterschied zwischen structure oder cell..
Ich hab N Matrizen (der gleichen dimension) die ich z.b. über
r=cell(1,N)
r{1,1}=X
r{1,2}=Y
.
.
.
dem cell array zuweisen kann.
Geht das eigentlich auch gleichzeitig?
Zumindest:
r{1,:}={X,Y} klappt nicht.
Wenn ich mein Cell habe kann ich aber keine Rechenoperationen mehr durchführen.
Zumindest meckert der dann rum.
Angenommen ich hab ne Matrix B die mit allen Matrizen im Cell multipliziert werden soll.
A*r{1,2} klappt z.b. aber gleichzeitig geht das nicht:
A*r{1,:}
Error using *
Too many input arguments.
Zudem versteh ich nicht ganz warum man hier geschweifte Klammern benutzen muss.
Eine Zuweisung wie:
r(1,1)=X
würde nicht klappen.
|
|
|
|
|
Thomas84 |

Forum-Meister
|
 |
Beiträge: 546
|
 |
|
 |
Anmeldedatum: 10.02.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.07.2013, 14:34
Titel:
|
 |
was das ganze mit structs zu tun hat weiß ich allerdings nicht.
|
|
|
Dîger |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 20.05.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.07.2013, 14:54
Titel:
|
 |
Was das mit structures zu tun hat?^^
Ich frag mich was sinnvoller ist.
Wann benutzt man cells und wann structs?
r{1,1}=X klappt aber auch :-/
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 10.07.2013, 15:20
Titel: Re: Structure oder Cell?
|
 |
|
 |
|
Hallo Dîger,
STRUCTs und CELLs sind in der Tat sehr ähnlich: Beide können Daten unterschiedlichen Typs und Größe enthalten. Der Unterschied ist lediglich, ob man über einen numerischen Index oder einen Namen auf die Elemente zugreift. Wenn man z.B. einen Text zeilenweise speichern möchte, ist eine Nummerierung sehr naheliegend. Wenn man aber zusammengehörende Daten speichern möchte, die nicht direkt mit einem Index zusammen hängen, ist ein Struct sinnvoller, bei dem selbnst-erklärende Namen als FieldNames benutzt werden:
Die Umwandlung von CELL zu STRUCT und umgekehrt per CELL2STRUCT und STRUCT2CELL ist sehr schnell, da intern eigentlich nur die Liste mit den Fieldnames an- bzw. abgehängt werden muss.
Dass "A*r{1,:}" nicht funktioniert liegt daran, dass "r{1, :}" eine Komma-Separierte Liste mit den Elementen der ersten Zeile von r ist. Siehe:
Wenn r ein Cell ist, kannst Du ein Element mit den geschweiften Klammern hinzufügen:
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.
|
|