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

workspace

 

gunter0815

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.12.2010, 11:37     Titel: workspace
  Antworten mit Zitat      
Hallo miteinander!
ich hab da mal ne frage! ich hab im workspace eine variable abgelegt! wie kann ich die nun in meinem m-file abrufen? bin ein noop in der sache... danke im voraus!

gruß gunter


Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 21.12.2010, 11:56     Titel:
  Antworten mit Zitat      
Moin,

mit:
Code:


kannst Du die Variable "f" aus dem Workcpace laden.

Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
gunter0815

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.12.2010, 12:06     Titel: workspace
  Antworten mit Zitat      
Muss ich den wert aus workspace dann erst per mausklick als variable definieren oder kann das auch automatisiert passieren?
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 21.12.2010, 12:15     Titel: Re: workspace
  Antworten mit Zitat      
Hallo Gunter,

Zwar geht das per EVALIN, das ist aber alles andere als übersichtlich und führt zu kaum debugbaren Programmen, wenn sie im Laufe der Zeit länger werden.

Die einfachste, klarste und sicherste Methode ist es, die Variablen als Input für die M-Funktion zu definieren. Siehe z.B. die einfache Sinus-Funktion:
Code:

Mit dem EVALIN/ASSIGNIN-Spoofing ginge das natürlich auch:
Code:

function mySin
Data = evalin('caller', 'Data');
assignin('caller', 'Result', sin(Data));
 

Das würde man dann so aufrufen:
Code:
Data = 0.15;
mySin;
disp(Result);

Aber stell Dir vor, dass Programm hätte 5000 Zeilen und würde 80 Unterfunktionen auf diese Weise aufrufen. Es wäre extrem schwer herauszubekommen, wer jetzt eigentlich welche Variablen erstellt, verändert oder überschreibt. Bei "Result = sin(0.15)" ist das Nachvollziehen jedoch trivial.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
gunter0815

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.12.2010, 12:36     Titel: workspace
  Antworten mit Zitat      
Hallo Jan, hallo hubertus,

danke für eure tips aber ich glaube ich hab mein problem nicht genau genug definiert! ich bin leider sehr unerfahren mit matlab und hoffe das ihr mir weiter helfen könnt! also ich gebe den sollwert über ein anders programm vor und speicher diesen im workspace? macht das sinn oder eher nicht? was gibt es noch für möglichkeiten? Ich möchte nur einen wert auslesen und ploten. Im workspace sind aber zum beispiel 400 unter einander aufgelistet! kann ich das automatisiert hinbekommen?
Mein Plan:
Also ich gebe über das andere programm den wert vor und matlab/simulink übernimmt diesen wert automatisch und plotet dementsprechend.
ist das möglich?
Gruß Gunter
 
FearTheFear
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 22.11.10
Wohnort: Magdeburg
Version: ---
     Beitrag Verfasst am: 21.12.2010, 16:10     Titel:
  Antworten mit Zitat      
Hallo Gunter,

Jan hat das eigentlich schon gesagt, der Aufruf einer Matlabfunktion ist ja immer

Code:

[Ausgabeparameter]=meineFunktion(Eingabeparameter)
 


Heißt also wenn du jetzt zb die Variable x aus dem Workspace in der Funktion verwenden und y als Antwort rausbekommen willst:

Code:

y=meineFunktion(x)
 

Wenn das x auch aus einer Matlabfunktion kommt, kannst du auch meineFunktion dort drin aufrufen und dir da auch das y ausgeben lassen. Da brauchst du die eine Variable gar nicht erst in den Workspace speichern.

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