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

Für ein Macro: Cell Tabelle als String in File und zurück

 

idefix
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 24.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.05.2015, 14:56     Titel: Für ein Macro: Cell Tabelle als String in File und zurück
  Antworten mit Zitat      
Hallo,

ich habe ein Cell mit Strings im Workspace z.B:
Code:
mycell={'Eintrag1a', 'Eintrag1b'; 'Eintrag2a', 'Eintrag2b'}


Jetzt würde ich gerne genau den Befehl automatisch erzeugen wie er oben steht, der mir meine cell-tabelle erzeugt und in eine Datei also ein m-skript schreiben.

Klar kann ich jetzt das mit fprintf für jeden cell-Eintrag erzeugen und alle Hochkommata ausgeben also ala:
Code:
fprintf('mycell={''%s'',''%s''; ''%s'',''%s''}',mycell{1},mycell{2},mycell{3},mycell{4})


Ich frage mich nur, ob es da nicht schon was fertiges gibt mit weniger "Bastelaufwand" zumal meine Tabelle von 1 bis 8 Zeilen haben kann und ich ja für jeden Fall die Syntax kreieren muss also z.B. ; in jeder Zeile nur in der letzten nicht usw.

gruß

(Brauchen tue ich das übrigens, da ich eine Markofunktionalität zu einer GUI hinzufüge und im o.g. Fall wird eine Listbox gefüllt. Daher will ich den Zustand eben in einem m-file speichern und später dann per skript ausführbar machen.)
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: 07.05.2015, 17:23     Titel: Re: Für ein Macro: Cell Tabelle als String in File und zur
  Antworten mit Zitat      
Hallo idefix,

Eine solche Meta-Programmierung ist grundsätzlich eine schlechte Idee. Es macht das Debuggen nahezu unmöglich und das dynamische erzeugen von Code für sehr schnell zu explodierender Komplexität. Programme, die Porgramme schreiben, sind einfach zu abstrakt.

Es ist effizienter ein einziges M-File zu schreiben, welches die benötigten Daten dynamisch erzeugt.
Dabei ist mir aber eines noch nicht klar: Wenn Du den Cell-String bereits vorliegen hast, wieso speicherst Du ihn nicht als MAT-File und lädst ihn bei Bedarf mit LOAD? Dafür magisch ein M-File zu erstellen bringt nur Nachteile.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
idefix
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 24.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.05.2015, 11:20     Titel:
  Antworten mit Zitat      
Hallo Jan,

die Problematik von Programmen die Programme schreiben ist mir klar. Ich sehe aber keine wirklich andere Möglichkeit das umzusetzen. Für jeden Menupunkt bzw. Klick eines Nutzers der GUI ein Mat-file zu erstellen und wieder anzupassen ist auch nicht praktikabel.

Damit Du besser verstehst was ich vorhabe schau doch mal kurz in dieses Mini-Bsp eines GUI-Macro von Mathworks hinein:

http://www.mathworks.com/matlabcent.....uide-in-matlab-7-9-r2009b

Dort wird der Wert den der User eingibt in ein Macro sprich M-Skript gespeichert. Genau das will ich auch tun. Nur muss ich halt bei mir eine Listbox füllen und nicht nur ein Textfeld.

Grüße
Idefix
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: 09.05.2015, 23:31     Titel: Re: Für ein Macro: Cell Tabelle als String in File und zur
  Antworten mit Zitat      
Hallo idefix,

Zitat:
Ich frage mich nur, ob es da nicht schon was fertiges gibt mit weniger "Bastelaufwand" zumal meine Tabelle von 1 bis 8 Zeilen haben kann und ich ja für jeden Fall die Syntax kreieren muss also z.B. ; in jeder Zeile nur in der letzten nicht usw.

Ich verstehe noch nicht, was Du genau tun möchtest. Worin besteht hier der Bastel-Aufwand? Was bezecihnest Du asl "Macro"? Was heißt "eine Listbox füllen"? Welchen Zustand möchtest Du speichern?

Es erscheint mir immer noch deutlich einfacher, den Cell String aus der String-Eigentschaft einer Listbox in ein MAT-File zu schreiben, als ein M-File zu erzeugen, welches den Cell-String erzeugt.
Trotzdem sollte das mit einem FPRINTF einfach möglich sein. Was ist denn dabei genau das Problem? Was sind die vorhandenen Inputs und was soll variabel gehalten werden?

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.