How can I share variables between .m files?

조회 수: 1 (최근 30일)
Nathan
Nathan 2013년 11월 14일
댓글: The Matlab Spot 2013년 11월 14일
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에서 Downloads에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by