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

Input Variable für Funktion aus String-Liste auslesen

 

RiCkDiE
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 02.09.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.09.2015, 13:40     Titel: Input Variable für Funktion aus String-Liste auslesen
  Antworten mit Zitat      
Hallo Zusammen, folgendes Problem:

- ich habe einige Variablen in meinen workspace geladen
- ich habe eine Liste (cell) mit den Variabelnamen

Nun möchte ich in einer Schleife nacheinander die Variablen in eine Funktion geben (Also nicht den string, sondern die jeweilige Variable, die hinter dem string steckt)

Workspace: var_1, var_2, var_3
list = {'var_1', 'var_2', 'var_3'}

i = 1 : length(list)
[ output ] = myfun( list{i} )
end

Nur das eben nicht der string in die Funktion gegeben werden soll, sondern die Variable selbst. Ich möchte nicht den Eval Befehl benutzen, geht das noch irgendwie anders? Ich habe nämlch einen Datentyp aus einer Toolbox, bei der der Eval Befehl nicht funktioniert.

Gruß
RiCkDiE
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: 10.09.2015, 00:16     Titel: Re: Input Variable für Funktion aus String-Liste auslesen
  Antworten mit Zitat      
Hallo RiCkDiE,

Tja, da hast Du ein Problem. Du hast einen Index im Namen der Variablen versteckt und möchtest auf eval verzichten. Letzteres ist eine gute Idee, aber ersteres macht das leider unmöglich.
Die einzige Lösung ist es, gleich auf solche Verrenkungen wie "var_1, var_2, var_3" zu verzichten und "var{1}, var{2}, var{3}" zu verwenden. Dann entfällt auch das eval -Problem ganz von selbst.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 02.09.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2015, 22:12     Titel:
  Antworten mit Zitat      
Hm naja, wie gesagt es handelt sich hierbei nicht um standard MATLAB variablen, sondern um Objekte aus einer Toolbox. Die kann man eben nicht in einen cell-Array packen.

Schade, dass das nicht geht, ist ja eigentlich keine komplizierte Angelegenheit. Warum gibt es sowas nicht in MATLAB? Gibt es dafür einen besonderen Grund?
Trotzdem danke für die Antwort.

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

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.09.2015, 22:50     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
sondern um Objekte aus einer Toolbox. Die kann man eben nicht in einen cell-Array packen.

Interessant. Sowas habe ich noch nie gesehen.
Um welchen Datentyp aus welcher Toolbox geht es denn?

Zitat:
Schade, dass das nicht geht, ist ja eigentlich keine komplizierte Angelegenheit. Warum gibt es sowas nicht in MATLAB?

Generell gibt es diese Möglichkeit mit eval, es ist nur schwierig zu debuggen etc. und daher wird es nach Möglichkeit gemieden.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
RiCkDiE
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 02.09.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.09.2015, 11:56     Titel:
  Antworten mit Zitat      
Hm ok ich bin dämlich, das geht doch. Man kann es doch in ein cell-Array laden. Glaube ich habe irgendwann mal den eval Befehl an dem Objekt getestet (Der funktioniert wirklich nicht) und dann irgendwie darauf geschlossen, dass es auch nicht funktioniert das Objekt in eine Zelle zu packen.

Na gut, dann vielen Dank, dann mache ich das jetzt so:

Beim laden der Dateien/Objekte alles in einen cell-array packen und dann mit einer Schleife an die Funktion übergeben, richtig?

Gruß
RiCkDiE
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.