How do I use same variables in different scripts?

52 vues (au cours des 30 derniers jours)
Duckyoon Go
Duckyoon Go le 28 Mar 2021
Commenté : Adam Danz le 28 Mar 2021
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,

Réponse acceptée

Adam Danz
Adam Danz le 28 Mar 2021
Modifié(e) : Adam Danz le 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 commentaires
Duckyoon Go
Duckyoon Go le 28 Mar 2021
Thank you sir, I guess my approach is not appropriate. Links helped alot.
Adam Danz
Adam Danz le 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating, Deleting, and Querying Graphics Objects dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by