|
|
Befehl: evalin('base','command') |
|
xxxyyyy |
Forum-Fortgeschrittener
|
|
Beiträge: 80
|
|
|
|
Anmeldedatum: 08.10.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.11.2018, 13:46
Titel: Befehl: evalin('base','command')
|
|
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.
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 26.11.2018, 14:34
Titel:
|
|
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 ;)
|
|
|
xxxyyyy |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 80
|
|
|
|
Anmeldedatum: 08.10.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.11.2018, 15:06
Titel:
|
|
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 .
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 26.11.2018, 15:10
Titel:
|
|
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.
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 ;)
|
|
|
xxxyyyy |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 80
|
|
|
|
Anmeldedatum: 08.10.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.11.2018, 15:15
Titel:
|
|
Mache ich, vielen Dank
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|