How can I share variables between .m files?

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!

Answers (2)

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
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 Comment

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...

Sign in to comment.

Categories

Products

Asked:

on 14 Nov 2013

Commented:

on 14 Nov 2013

Community Treasure Hunt

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

Start Hunting!