External changes in script files not updated when run
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
MathWorks Support Team
am 27 Jul. 2020
Beantwortet: MathWorks Support Team
am 27 Jul. 2020
I have experienced an undesired behavior when a MATLAB script "function.m" calls a different script "parameter_file.m" which is edited between calls:
If a value in the "parameter_file.m" file is edited in MATLAB, then the changed value will be used when running the "script.m" the next time.
However, if a different text editor is used (outside of MATLAB) to change the file, then MATLAB loads the previous version with the old value for "my_parameter".
How can this be adapted, so that always the current version is interpreted?
You can test the behavior by running the attached script.m file and changing the value in the "parameter_file.m" file from within and outside of MATLAB.
Akzeptierte Antwort
MathWorks Support Team
am 27 Jul. 2020
This is due to the way the "run" function caches files. From the documentation for the "run" function:
If a script is not on the MATLAB path, executing the run command caches the script. In the same session and after calling run, you can edit the script using an external editor. Call clear scriptname before calling run again to use the changed version of the script rather than the cached version. If you edit the script with the MATLAB editor, run executes the changed version and there is no need to call clear scriptname.
The specific workaround to the attached script is to put this code on the first line of "script.m":
>> clear parameter_file
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Environment and Settings finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!