how to share multiple variables in different m files?
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
summer
am 29 Aug. 2014
Bearbeitet: per isakson
am 29 Aug. 2014
Now i have two solutions to address the problem.
- The one is set all the variables need to share to ouptput variable,and input them when it's used in other function.
- The other is set all these variables to global variable.Does Matlab can address it by other better solution?
0 Kommentare
Akzeptierte Antwort
Star Strider
am 29 Aug. 2014
If your m-files are scripts running independently of each other, my choice would be to use a .mat file. Save all the variables in a .mat file and then using load with an output argument, load only the variables needed by a particular script into the workspace.
If your m-files are all functions running in your workspace at the same time, you can pass the variables as arguments as needed by the functions and then return new values for them as function outputs (or use the much less-desirable option of declaring them as global variables).
It all depends on what your m-files are doing, and whether they need the variables serially or simultaneously.
0 Kommentare
Weitere Antworten (1)
Jasper
am 29 Aug. 2014
What type of program are you using this in? Are you using some form of parallel processing?
If not, I would recommend passing variables as a structure to the functions, and returning a similar (updated) structure as the output of the functions.
For instance:
function output=fcn(input)
output=input;
output.var1=input.var1*20;
end
p.var1=2^8;
p.var2='somestring';
p=fcn1(p);
0 Kommentare
Siehe auch
Kategorien
Mehr zu Workspace Variables and MAT-Files finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!