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

Problem mit Structs

 

Fabian1234
Forum-Anfänger

Forum-Anfänger


Beiträge: 36
Anmeldedatum: 09.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.07.2010, 15:25     Titel: Problem mit Structs
  Antworten mit Zitat      
Hallo liebe Gemeinde
ich habe leider ein Problem mit einem Struct, das immer wieder verflochten ist.
Wenn ich immer weiter in die tiefe gehe, stoße ich irgendwann auf ein problem, nämlich dass die struct-variable "D.trials.label" folgenden output liefert:

Code:
D.trials

ans =

1x13 struct array with fields:
    label
    bad
    events
    onset
    repl

>> D.trials.label

ans =
NS01

ans =
NS02

ans =
NS03

ans =
NS04

ans =
NS05

ans =
NS06

ans =
NS07

ans =

NS08


ans =
NS09

ans =
NS10

ans =
NS11

ans =
NS12

ans =
NS13
 


Ich weiß nicht wie ich damit umgehen soll, hintergrund ist der, dass ich NS01 ... NS13 umbennen möchte. das geht aber nicht, wenn ich die struktur nicht weiß bzw. nicht verstehe.

möchte ich die variable mit length oder size analysieren, kommt folgende fehlermeldung:

"??? Error using ==> size
Too many input arguments."

Und wenn ich auf die Variable zugreifen möchte, kommt diese Meldung:

Code:
D.trials.label(1,:)
??? Field reference for multiple structure elements that is followed by more reference blocks is an error.


hatte schon mal jemands solch eine situation und kann mir helfen?
es ist notwendig, dass ich auf das struct zugreifen kann.

danke und gruß
fabian1234[/code]
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 19.07.2010, 15:33     Titel:
  Antworten mit Zitat      
Hallo

Das ist ein Array of Structs, das heißt trials ist ein Array, in welchem Structs enthalten sind.

So kannst du auf label zugreifen
Code:


% Zähler wird bei trials angesetzt
for k=1:length(D.trials)
   D.trials(k).label
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Fabian1234
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 36
Anmeldedatum: 09.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.07.2010, 15:41     Titel:
  Antworten mit Zitat      
Ihr seid ja schnell
super, hat funktioniert, DANKE!
ich hab hier nämlich 240 stück davon... und die muss ich eben per skript umschreiben.
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.