Global variables in matlab

2 次查看(过去 30 天)
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?

采纳的回答

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

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Variables 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by