WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Daten aus struct plotten

 

Benjamin2011
Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 25.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.10.2011, 22:21     Titel: Daten aus struct plotten
  Antworten mit Zitat      
Hallo zusammen,

ich habe ein 1*97struct mit jeweils 6 verschiedenen Feldern(in denen sich double Werte befinden).
Ich möche nun ein bestimmtes Feld aus jedem struct plotten.
Ich habe es mit einer for-Schleife probiert und wollte dadurch eine 97*1 Matrix erstellen um diese Feldern dann auf einem Plot darzustellen.
Leider kam folgende Fehlermedlung:

??? Subscripted assignment dimension mismatch.

Wie kann ich die Daten aus dem struct plotten bzw. in eine Matrix einfügen?
Danke im Voraus
Private Nachricht senden Benutzer-Profile anzeigen


eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 12.10.2011, 07:45     Titel:
  Antworten mit Zitat      
Code:
S(1).A = 1;
S(2).A = 2;
class([S.A]) % = double
plot([S.A])
Private Nachricht senden Benutzer-Profile anzeigen
 
Benjamin2011
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 25.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.10.2011, 10:33     Titel:
  Antworten mit Zitat      
Danke für deine Hilfe.
Mit deinem Code würde ich allerdings die Messdaten mit einer fortlaufenden Nummer übrschreiben, kann das sein?

Ich hab jetzt ein 1*97 struct mit je eine substruct welcher Messdaten enthält.
Gerne würde ich diese Messdaten in eine Matrix der Art
P(97,1)
bringen und diese in einem Plot darzustellen.
Doch es erscheint

EDU>> A(1,1) = struct{1}.substruct(Smile
??? Subscripted assignment dimension mismatch.


Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 12.10.2011, 10:36     Titel:
  Antworten mit Zitat      
Substructs musst du dann mit structfun() bearbeiten oder einfacher mit einer for-Schleife.
Private Nachricht senden Benutzer-Profile anzeigen
 
Benjamin2011
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 25.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.10.2011, 10:48     Titel:
  Antworten mit Zitat      
Mit der for Schleife hätte ich es schon des öfteren probiert aber bisher ohne Erfolg.
Welchen Code würdest du vorschlagen um die Messdaten in einer Matrix zu speichern?
Private Nachricht senden Benutzer-Profile anzeigen
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 12.10.2011, 10:50     Titel:
  Antworten mit Zitat      
Zeig doch mal was du bisher ausprobiert hast, dann lässt sich das einfacher anpassen, zumal ich ja garnicht weiß, wie deine struct aufgebaut ist.
Private Nachricht senden Benutzer-Profile anzeigen
 
Benjamin2011
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 25.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.10.2011, 11:10     Titel:
  Antworten mit Zitat      
Okay mein struct heißt S mit 97 substructs A. Versucht hab ich z.B.:

EDU>> for i = 1:97
P(i,1) = S(i).A
i = i+1
end


??? Subscripted assignment dimension mismatch.

Erstell aber leider die Matrix nur für P(1,1)
Private Nachricht senden Benutzer-Profile anzeigen
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 12.10.2011, 11:22     Titel:
  Antworten mit Zitat      
1) Entweder ist es keine Substruct oder dein Code passt nicht dazu
2) Wieso erhöhst du in der Schleife i? Das ist nicht notwendig und führt in deinem Beispiel dazu, dass i um 2 hochgezählt wird (1,3,5,7, ...).
3) Speicher doch mal NUR deine struct in einer .mat-Datei ab und lade diese hoch. Dann kann ich mal schauen!
Private Nachricht senden Benutzer-Profile anzeigen
 
Benjamin2011
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 25.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.10.2011, 11:47     Titel:
  Antworten mit Zitat      
1) es handelt sich um einen substruct
2) totaler Quatsch danke für den Hinweis
3) .mat nicht erlaubt
Private Nachricht senden Benutzer-Profile anzeigen
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 12.10.2011, 11:59     Titel:
  Antworten mit Zitat      
Dann mach doch mal bitte eine Beispielstruct (ähnlich wie deine), die man mit copy/paste einfügen kann.

Beispiel:

Code:
S(1).A.B = 5;
S(2).A(2).B = 1;
S(2).A(3).B = 10;
Private Nachricht senden Benutzer-Profile anzeigen
 
Benjamin2011
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 25.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.10.2011, 19:19     Titel:
  Antworten mit Zitat      
Von Hand funktionierts einwandfrei also

A(:,1) = stocks(1).Close(:,1)
A(:,2) = stocks(2).Close(:,1)

aber die Schleife bekomm ich einfach nicht zusammen.

Gruß Benjamin
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.10.2011, 19:24     Titel:
  Antworten mit Zitat      
Hallo,

jetzt ist nur noch die Frage, was du eigtl machen willst. Etwa das?

Code:
for J=1:N
A(:,J) = stocks(J).Close(:,1)
end


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.