Global variables in matlab

6 visualizzazioni (ultimi 30 giorni)
kajalschopra
kajalschopra il 27 Lug 2015
Risposto: Image Analyst il 28 Lug 2015
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?

Risposta accettata

Walter Roberson
Walter Roberson il 27 Lug 2015
You need to specifically say that the variable is in the global namespace in the second file.
global a

Più risposte (1)

Image Analyst
Image Analyst il 28 Lug 2015
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.

Categorie

Scopri di più su Environment and Settings in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by