How can I share variables between .m files?

2 次查看(过去 30 天)
I am having trouble returning values to different .m files.
I have tried to declare the variables globally but that doesn't work.
The only way I have found to work is to use the:
save('') and load('')
commands.
I know there must be a way without creating this variable file...
For example say I have a file name test.m with code:
function val = test(x)
y=x+5;
end
and then I make another file called test2.m with code:
test(5)
w=y+5
and then when I go to
run('test2.m')
it says undefined function or variable 'y'.
How can i fix this without using save/load variables.
THANKS!

回答(2 个)

The Matlab Spot
The Matlab Spot 2013-11-14
Okay.. You have done two mistakes with this...
1: In the file test.m, the function shall be
function val = test(x)
val=x+5;
end
receive the sum in the output variable of the function i.e. 'val'
2: In the file test2.m, the code shall be
y = test(5);
w=y+5;
receive the output of the function in 'y' before using it

Nathan
Nathan 2013-11-14
what if I have two random random numbers that are generated by test.m and I want to use both those values for test2.m
Say:
function val=test(x)
p=randi(x);
q=randi(x+1);
w=p*q;
h=p+q;
end
then test2.m has:
test(10)
r=w+5
t=h+5
  1 个评论
The Matlab Spot
The Matlab Spot 2013-11-14
function [w,h]=test(x)
p=randi(x);
q=randi(x+1);
w=p*q;
h=p+q;
end
then test2.m has:
[w,h] = test(10)
r=w+5
t=h+5
and so on...

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Get Started with MATLAB 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by