How do I use same variables in different scripts?

52 views (last 30 days)
Hello,
Sorry for the weird English. I did my best to explain what I am struggling with....
I am wondering if you assign variable in one script, then can use those variables in another script?
For example,
In script A,
A=12;
B=23;
C=25;
D=...;
C=....;
there are tons of variables in script A.
In function script,
I want to use all variables in script A instead of assigning everything again.
thanks,

Accepted Answer

Adam Danz
Adam Danz on 28 Mar 2021
Edited: Adam Danz on 28 Mar 2021
Review Scripts vs Function and Base and Function Workspaces from the documentation.
If you run script A and then script B in the same workspace, then all variables in A will remain available unless a variable is explicitly cleared or, more commonly, overwritten. This is poor workflow, though. It becomes quite difficult to troubleshoot the origin of variables and how they were changed.
A better idea is to use function input/outputs. If you're working with a lot of variables, you can store them in a structure or cell array to reduce the number of inputs/outputs and to keep your data organized.
Don't use global variable, eval, evalin, etc, to pass variables.
For other opinions on this, see these threads in the forum
  2 Comments
Duckyoon Go
Duckyoon Go on 28 Mar 2021
Thank you sir, I guess my approach is not appropriate. Links helped alot.
Adam Danz
Adam Danz on 28 Mar 2021
Agreed. I know it may seem like a lot of work to change tons of variables but now you know how to plan for this in the future and your updated functions will work so much more smoothly.

Sign in to comment.

More Answers (0)

Categories

Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!