How to use a function output in another function?

1 view (last 30 days)
I have written a function in the script, say
function A = matrixy()
A = zeros(3);
end
When calling it in the command window, I'll have
>>matrixy
ans =
0 0 0
0 0 0
0 0 0
But when I key in A in the command window, it shows "Undefined function or variable 'A'". Is there a way to let A pick up this value in the command window?
Also, I want to create another function and use this matrix A produced in the previous function. How should I do it?
Many thx!
  1 Comment
Stephen23
Stephen23 on 11 Aug 2017
Edited: Stephen23 on 5 Sep 2020
How to assign output arguments to variables is also covered in the introductory tutorials:
Doing the introductory tutorials teaches lots of these basic concepts, which saves time in the long run.

Sign in to comment.

Accepted Answer

Amit
Amit on 25 Jan 2014
Edited: Amit on 25 Jan 2014
A = matrixy;
A function has an output and the name. Unless you define the output, it goes to ans variable.
  2 Comments
Fernadez
Fernadez on 10 Aug 2017
I don't think Amit answer is correct, I am having the same question. if A = matrix, you are running the whole function all over again. if you run the function, how do you save the result "A", and how to you call "A" an input to the second function?
Walter Roberson
Walter Roberson on 10 Aug 2017
A = matrixy();
calls matrixy once (per time that you execute the statement), and assigns the output of running matrixy() the variable "A" in your current workspace.
You can then pass A to another routine, such as
sqrt(A)
If you do not need the output for second purposes, you can just directly call
sqrt(matrixy())

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!