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

String als Variablennamen verwenden

 

Gerd_H

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.12.2012, 23:41     Titel: String als Variablennamen verwenden
  Antworten mit Zitat      
Hallo,

bis jetzt habe ich alle Probleme stets durch andere Beiträge lösen können, aber diesmal komme ich nicht weiter.

Ich möchte eine string, der selbst als Variable vorliegt als Namen für eine andere Variable verwenden, die ein Zeitverlauf einer Kraft ist. Die Daten stammen aus einer GUI.

Habe es so versucht, aber das klappt nicht:
Code:
Kraft_name='F_zug';
x=[12.312 2312.23 .........]

eval([Kraft_name'=x'])
 


Ich weiss, das eval nicht der schönste Weg ist, das anzugehen. Ich bin für alle Vorschläge offen.
Ich bin leider nicht der Voll-Informatiker, aber mit Matlab bis jetzt ganz gut zurechtgekommen.


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.01.2013, 11:40     Titel:
  Antworten mit Zitat      
Hallo,

was spricht denn dagegen, innerhalb des Codes immer denselben Variablennamen, z.B. Kraft oder F, zu verwenden?

Zudem: was klappt daran nicht?

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.01.2013, 15:48     Titel:
  Antworten mit Zitat      
Hallo Harald,

die Kraftvektoren (Zeitverläufe) werden in Modellen von Differenzialgleichungen verwendet, die der Nutzer der GUI erstellt. Damit die Modelle mit den ode-Solvern gelöst werden können muss der Variablenname im Programm, dem im Modell entsprechen, und den kennt nur der User selbst.

Ich hatte an der entscheidenden Stelle ein Leerzeichen vergessen scheint mir. Solche Probleme treiben einen manchmal in den Wahnsinn. Aber jetzt sollte es klappen. Ich werde mich morgen wieder an den code machen.

Viele Dank für die Hilfe. Gesundes Neues
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.01.2013, 17:36     Titel:
  Antworten mit Zitat      
Hallo,

wenn es um das Verwenden bestehender Variablen geht, kann ich das vielleicht noch nachvollziehen, nicht aber, wenn es um das Erstellen von Variablen geht. Du musst ja nun jedes Mal, wenn du die erstellte Variable verwenden willst, auch mit eval arbeiten, und das ist (wie du ja selbst feststellen konntest) sehr mühsam.

Wenn du den Namen unbedingt haben willst, bietet sich auch noch eine Datenstruktur an:
Code:
daten.(Kraft_name) = x;


Das fehlende Leerzeichen sollte übrigens im Editor als Syntaxfehler rot markiert sein.

Grüße,
Harald
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.