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

Befehl: evalin('base','command')

 

xxxyyyy
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 08.10.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2018, 13:46     Titel: Befehl: evalin('base','command')
  Antworten mit Zitat      
Hallo,

mir ist irgendwie noch nicht ganz klar was der obere Befehl macht.
Auf der Supportseite von Matlab steht:

evalin(ws, expression) executes expression, a character vector or string scalar containing any valid MATLAB® expression using variables in the workspace ws. ws can have a value of 'base' or 'caller' to denote the MATLAB base workspace or the workspace of the caller function.

Wie kann ich das verstehen? Im Workspace sind ja alle momentan vorhandenen Variablen gespeichert.
Heißt das, dass er die Funktion "expression" ausführt und ihr Zugriff auf den Workspace "base" erlaubt?

Wäre nett, wenn mir jemadn weiterhelfen könnte. Smile
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.433
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.11.2018, 14:34     Titel:
  Antworten mit Zitat      
Hallo,

jede Funktion hat einen eigenen Workspace. Der genannte Befehl ermöglichst es, einen Befehl im Base Workspace (dem Workspace des Command Window) auszuführen und die dortigen Variablen zu nutzen.

Generell würde ich aber von evalin abraten, siehe z.B.
https://blogs.mathworks.com/loren/2005/12/28/evading-eval/
evalin ist noch schwieriger zu debuggen als eval.

Wenn du sagsst, wofür du evalin verwenden wollen würdest, kann ich gerne einen Alternativvorschlag machen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
xxxyyyy
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 08.10.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2018, 15:06     Titel:
  Antworten mit Zitat      
Hi, danke für deine Antwort!

Achso, damit kann dann der Befehl auf Variablen im Base-Workspace zugreifen, was er ansonsten nicht könnte.

Kann eval das gleiche, oder gibt es da einen Unterschied?

Mein Prof hat diesen Befehl in seinem Skript erwähnt, ohne näher darauf einzugehen. Daher habe ich mich gefragt, wozu man diesen verwenden kann. Einen konkreten Anwendungsfall gibt es daher leider nicht. Aber vielen Dank für dein Angebot einen ALternativvorschlag zu nennen Smile.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.433
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.11.2018, 15:10     Titel:
  Antworten mit Zitat      
Hallo,

eval wertet den Befehl direkt im Workspace aus, ist also quasi noch überflüssiger.

Falls der Prof. generell für solches Feedback offen ist, kannst du ja darauf hinweisen, dass generell empfohlen wird, eval und evalin möglichst zu vermeiden.
https://www.google.de/search?q=avoid+evalin+matlab

Wenn er dann sagt, dass dann aber etwas bestimmtes nicht geht, schick ihn zu mir. Wink

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
xxxyyyy
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 08.10.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2018, 15:15     Titel:
  Antworten mit Zitat      
Mache ich, vielen Dank Smile
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 - 2024 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.