How do I use same variables in different scripts?

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,

 Respuesta aceptada

Adam Danz
Adam Danz el 28 de Mzo. de 2021
Editada: Adam Danz el 28 de Mzo. de 2021

0 votos

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 comentarios

Duckyoon Go
Duckyoon Go el 28 de Mzo. de 2021
Thank you sir, I guess my approach is not appropriate. Links helped alot.
Adam Danz
Adam Danz el 28 de Mzo. de 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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Creating, Deleting, and Querying Graphics Objects en Centro de ayuda y File Exchange.

Productos

Etiquetas

Preguntada:

el 28 de Mzo. de 2021

Comentada:

el 28 de Mzo. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by