How to use a function output in another function?

1 visualización (últimos 30 días)
Larry
Larry el 25 de En. de 2014
Editada: Stephen23 el 5 de Sept. de 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 comentario
Stephen23
Stephen23 el 11 de Ag. de 2017
Editada: Stephen23 el 5 de Sept. de 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.

Iniciar sesión para comentar.

Respuesta aceptada

Amit
Amit el 25 de En. de 2014
Editada: Amit el 25 de En. de 2014
A = matrixy;
A function has an output and the name. Unless you define the output, it goes to ans variable.
  2 comentarios
Fernadez
Fernadez el 10 de Ag. de 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 el 10 de Ag. de 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())

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by