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

in vorhandenden mat.datei zusätzlliche daten eintragen

 

tupi
Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 21.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2009, 12:52     Titel: in vorhandenden mat.datei zusätzlliche daten eintragen
  Antworten mit Zitat      
Hallo,

ich möchte eine mat.datei konstruieren die die mehr oder weniger mehrere durchnumerierte strukturen beinhaltet. zB:

Die mat-Datei Wald beinhaltet die Strukturen Baum und Tiere. Baum selber soll die durchnumerierten Strukturen Ast1, Ast2.....beinhalten. Diese müssen aber eins nach dem anderen in der mat datei Wald gespeichert werden.

Ich habe das mit "-append" auaprobiert, er erkennt aber nicht, dass man bei dem nächsten Durchlauf eine neue Struktur baum.ast2 hat und uberschreibt die frühere struktur baum.ast1.

ich speichere nach jedem durchlauf durch den befehl

"save wald.mat -append baum tiere"

Kann man überhaupt so was machen oder speichere ich die Daten falsch?
Private Nachricht senden Benutzer-Profile anzeigen


paillette
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 12.06.09
Wohnort: ---
Version: 6.5 , R2008a
     Beitrag Verfasst am: 17.06.2009, 15:43     Titel:
  Antworten mit Zitat      
Hallo

du kannst das mit Hilfe von dynamischen Variablen-Namen machen. Also wenn du z.B. eine Schleife hast, in der du alle Äste nacheinander setzten möchtest, schreibst du:

for nr = 1: 10

name = ['Ast' num2str(nr)];
Wald.Baum.(name) = 3;

end

jetzt werden unter Wald -> Baum die Äste von 1 bis 10 angelegt und bekommen jeweils den Wert 3.

speichern kannst du einfach nach der Schleife mit save('wald.mat','Wald')

Hoffe ich habe die Frage richtig verstanden Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
tupi
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 21.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.06.2009, 22:40     Titel:
  Antworten mit Zitat      
hi,
der tip funktioniert, ich habe aber immer noch das problem, dass wenn ich die schleife stufenweise laufen lasse, er mir die vorherigen äste mit den jetzigen überschreibt obwohl die nicht den gleichen namen haben.

die schleife ist etwas lange und ich kann sie nur 2 mal laufen lassen, die ergebnisse zwischendurch speichern und die dann weiterlafen lassen.

kann man das problem irgendwie umgehen?
Private Nachricht senden Benutzer-Profile anzeigen
 
tupi
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 21.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.06.2009, 23:03     Titel:
  Antworten mit Zitat      
Wenn ich die "Wälder" durchnummerieren möchte (die oberstrukturen also), funktioniert die obige methode nicht.

kann mir jemand weiterhelfen?
Private Nachricht senden Benutzer-Profile anzeigen
 
paillette
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 12.06.09
Wohnort: ---
Version: 6.5 , R2008a
     Beitrag Verfasst am: 20.06.2009, 09:35     Titel:
  Antworten mit Zitat      
Hey
kannst du einfach mal deinen Code von der Schleife hier rein schreiben?
Das das nicht funktioniert ist klar, da ja Wald die Oberstruktur ist. Aber soweit ich weiß, kann man mit Hilfe von "assignin" Variablen erzeugen, das bräuchstest du dann aber eben nur für die Oberstruktur.
Wurde auch schon hier http://www.gomatlab.de/dynamischer-variablenname-t186.html besprochen.
Oder aber mit genvarname http://www.mathworks.com/access/hel.....amp;aq=f&oq=genvarnam.
Zu den beiden Methoden kann ich dir aber nicht mehr sagen, da ich sie selber noch nicht gebraucht habe. Hoffe ich konnte dir trotzdem etwas weiterhelfen.
Private Nachricht senden Benutzer-Profile anzeigen
 
tupi
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 21.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.06.2009, 14:56     Titel:
  Antworten mit Zitat      
hi,
hier mal ein teil des codes. Ich möchte für jedes m die daten aus exel abrufen und in durchnummerierte hauptstrukturen in einer mat.datei speichern :

Code:

for m=1:8
X=xlsread('temp.xls',['Grenzen_' num2str(m)] ,'A1:E3000');
Y=xlsread('temp.xls',['Parameter_' num2str(m)],'A1:K3000');
   
   
    PD.grenzen.C=X(:,1);
    PD.grenzen.Vb=X(:,2);
    PD.grenzen.Vu=X(:,3);
    PD.grenzen.Vul=X(:,4);
    PD.grenzen.DE=X(:,5);
   
    PD.param.V0=Y(:,1);
    PD.param.alpha=Y(:,2);
    .
    .
    .
    PD.param.pe=Y(:,11);
   
    assignin ('base',['PD_' num2str(m)], PD);
    save Stufe1.mat -append PD_1
end


Die struktur PD soll dann durchnummeriert(also PD_1, PD_2...) in der mat-datei Stufe1 gespechert werden, er erkennt aber PD_1 nicht.
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 - 2024 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.