I have a file_1.m file which has the following code;
global a;
a=1;
b=2;
file_2();
And my file_2.m has the following
function file_2
c=a+3;
d=2;
end
I had thought that since I have declared "a" as global in file_1.m, file_2 should have access to its value without passing a as an argument.
But it does not. How is it possible for file_2 to have access to the value of 'a' without passing it as an argument?

 Respuesta aceptada

Walter Roberson
Walter Roberson el 27 de Jul. de 2015

0 votos

You need to specifically say that the variable is in the global namespace in the second file.
global a

Más respuestas (1)

Image Analyst
Image Analyst el 28 de Jul. de 2015

0 votos

See the discussion of globals here in the FAQ. Basically it's more like friend than global , in that only functions that also declare the variable will be able to see it , and functions that don't declare the variable as global will not be able to see it.

Categorías

Más información sobre Variables en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 27 de Jul. de 2015

Respondida:

el 28 de Jul. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by