How to use a function output in another function?

1 Ansicht (letzte 30 Tage)
Larry
Larry am 25 Jan. 2014
Bearbeitet: Stephen23 am 5 Sep. 2020
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 Kommentar
Stephen23
Stephen23 am 11 Aug. 2017
Bearbeitet: Stephen23 am 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Amit
Amit am 25 Jan. 2014
Bearbeitet: Amit am 25 Jan. 2014
A = matrixy;
A function has an output and the name. Unless you define the output, it goes to ans variable.
  2 Kommentare
Fernadez
Fernadez am 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 am 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())

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by