Matlab accessing global variable from another m file?

25 ビュー (過去 30 日間)
will99
will99 2015 年 10 月 7 日
コメント済み: Star Strider 2015 年 10 月 7 日
so let say I have two files fileA.m & fileB.m in fileA.m I have this code
function fileA()
global dataX;
dataX = 100;
end
in fileB.m I want to use if to check the value this is what I have in fileB.m
function fileB()
if dataX == 100
fprintf('Value is %f \n' , dataX);
else
fprintf('Value is NOT %f \n' , dataX);
end
end
however I'm having problem every time I run fileB.m I get this error Undefined function or variable 'dataX'.
so how can I access global variable from another .m file .. I'm new to Matlab

採用された回答

Star Strider
Star Strider 2015 年 10 月 7 日
Please do not use global variables!
However if you must, you have to declare them as globals in every workspace that uses them. They don’t just magickally appear!
function fileB()
global dataX
if dataX == 100
fprintf('Value is %f \n' , dataX);
else
fprintf('Value is NOT %f \n' , dataX);
end
end
  2 件のコメント
will99
will99 2015 年 10 月 7 日
so I need to declare the variable in both fileB & fileA oh I thought it will be similar to java thank you :)
Star Strider
Star Strider 2015 年 10 月 7 日
My pleasure.
MATLAB has its own rules about such things as globals. It is still best to pass ‘dataX’ and anything else your function needs as an argument rather than a global.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeExplore and Edit Images with Image Viewer App についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by