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

Speichern von Variablennamen und -inhalten

 

Ruli
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 30.07.12
Wohnort: Bremen
Version: ---
     Beitrag Verfasst am: 17.09.2012, 16:45     Titel: Speichern von Variablennamen und -inhalten
  Antworten mit Zitat      
Moin Matlab-Profis,
wieder muss ich mich mit einer Frage an euch richten.

In meiner GUI werden Anstellwinkel und dazugehörige Beiwerte eines Tragflügels berechnet. Dabei ist die Variablenzahl variabel Wink .

Diese Variablen könnten bspw. so aussehen:

Code:
Anstellwinkel = [1;2;3;...]
Auftriebsbeiwert = [4;5;6;...]
Widerstandsbeiwert = [7;8;9;...]
...
...
...


Nun möchte ich diese Variablen in einer externen Datei (ASCII-Text-Datei wäre optimal, sollte auf jeden Fall mit EXCEL oder anderer Software einsehbar sein) abspeichern. Dabei sollen die Werte in Spalten und mit den jeweiligen Variablennamen als Überschrift gespeichert werden (Siehe Anhang). Bei meiner Recherche bin ich bis jetzt hierfür auf

Code:
gestossen.

Allerdings weiß ich nicht, wie ich diese korrekt anwenden kann oder ob es Alternativen gibt. Deshalb meine Fragen:

1.) Die zu speichernden Variablen sind dynamisch, d.h. nicht immer alle vorhanden (stammen aus GUI). Wie kann ich eine Liste aller Variablen im Workspace/aller globalen Variablen erhalten.

2.) Wie kann ich diese als Überschriften in der Speicherdatei nutzen?

3.) Wie kann ich die relevanten Variablen in Spalten nebeneinander speichern?

Vielen Dank für die Hilfe
Ruli

Beispiel.xls
 Beschreibung:
So stelle ich mir das Ergebnis vor.

Download
 Dateiname:  Beispiel.xls
 Dateigröße:  23.5 KB
 Heruntergeladen:  250 mal
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 18.09.2012, 13:22     Titel: Re: Speichern von Variablennamen und -inhalten
  Antworten mit Zitat      
Hallo Ruli,

mit dem WHO und WHOS-Befehlen bekommst Du eine Liste der Variablem im aktuellen Workspace. Dies ist aber unpraktisch, da ja auch Lauf-Zähler von Schleifen etc vorhanden sein können.

Einfach wäre es, wenn Du erst gar nicht einen Haufen von Variablen erzeugst, sondern die Daten kompatk in einem Struct speicherts:
Code:
Data.Anstellwinkel = [1;2;3;...]
Data.Auftriebsbeiwert = [4;5;6;...]
Data.Widerstandsbeiwert = [7;8;9;...]

Dann bekommst Du per FIELDNAMES eine Liste der Variablen. Falls alle die Daten gleiche Länge haben, kann man so ein ASCII-File erzeugen, welches auch von Excel gelesen wird:
Code:
Field = fieldnames(Data);
ValueC = struct2cell(Data);
Value = cat(2, ValueC{:});

fid = fopen(FileName, 'w');
if fid < 0, error('Cannot open file for writing.'); end
fprintf(fid, '%s\t', F{:});
fprintf(fid, '\n');
Fmt = [repmat('%g\t', 1, size(Value, 2)), '\n']
fprintf(Fmt, transpose(Value));
fclose(fid);

Gruß, Jan
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.