How can I share variables between .m files?

1 Ansicht (letzte 30 Tage)
Nathan
Nathan am 14 Nov. 2013
Kommentiert: The Matlab Spot am 14 Nov. 2013
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!

Antworten (2)

The Matlab Spot
The Matlab Spot am 14 Nov. 2013
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 am 14 Nov. 2013
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 Kommentar
The Matlab Spot
The Matlab Spot am 14 Nov. 2013
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...

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Downloads finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by