How to use a function output in another function?

1 visualizzazione (ultimi 30 giorni)
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 Commento
Stephen23
Stephen23 il 11 Ago 2017
Modificato: Stephen23 il 5 Set 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.

Accedi per commentare.

Risposta accettata

Amit
Amit il 25 Gen 2014
Modificato: Amit il 25 Gen 2014
A = matrixy;
A function has an output and the name. Unless you define the output, it goes to ans variable.
  2 Commenti
Fernadez
Fernadez il 10 Ago 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 il 10 Ago 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())

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by