suppressing the display of ans
Mostrar comentarios más antiguos
How can I suppress or omit the display of the "ans" when executing my function?
8 comentarios
John hebert
el 26 de Sept. de 2014
Editada: Walter Roberson
el 22 de Abr. de 2017
To suppress 'ans' return of function file don't assign an output; find the variable and use disp(variable).
Jack in No. Adams Ma.
Eugene Rivera
el 11 de Mzo. de 2020
Tried this and it worked. Thanks John
Veeraj Arora
el 28 de Sept. de 2020
^
Kenny Perez
el 18 de Nov. de 2020
thank you very much
Michele Rocca
el 19 de Feb. de 2021
I solved this issue by doing this (but I tried for one output only):
function a=myfunction(b)
%here is yor code
if nargout<1
clear a
end
end
Abhiram V. P. Premakumar
el 11 de Nov. de 2022
Editada: Abhiram V. P. Premakumar
el 11 de Nov. de 2022
vmin=0.9737;
vmax=1.0263;
disp(' vmin vmax')
disp([vmin,vmax])
Kavya
el 24 de Ag. de 2023
When you enter a command without a semicolon at the end, MATLAB displays the result.
>> x = 5 + 1
x =
6
Nikhanze
el 21 de Dic. de 2023
Enter k = 8-2; including the semicolon at the end. The result won't appear in the command window,but you can see the value of k in workspace browser
Respuesta aceptada
Más respuestas (7)
Wayne King
el 9 de Feb. de 2012
Put a semicolon at the end of the line.
x = randn(8,1);
fft(x);
4 comentarios
Pramod Bhat
el 9 de Feb. de 2012
Dale is asking how to hide the word 'ans' when there are no arguments. for ex if u just type 2+2 on workplace it will display
ans=
4.
He does not want this 'ans' to be displayed.
Wayne King
el 9 de Feb. de 2012
The OP said he wants to suppress the "display" of ans, that's why I told the OP to put a semicolon at the end of the line:
>>2+2;
does what the OP asks as I answered.
George Fega
el 22 de Abr. de 2017
You are the best, dude! Thank you vrey much!
Le Yu
el 31 de En. de 2019
That's exactly what I need!! THx
Matt Tearle
el 9 de Feb. de 2012
What Wayne said. But to dig a bit deeper: given that you specifically said "function", I'm guessing you might be confused by the whole local vs global variable thing.
If you have
function y = myfun(x)
y = cos(x.^2);
Then you say
>> z = myfun(pi)
The value of pi is passed into the function where it is assigned to the local variable x; the value of the local variable y is computed and returned to the base workspace according to how the function was called at the command line. In this case, the return value is assigned to the (base) variable z. Because there's no semicolon at the end of that line, the output from that assignment is echoed to the command window. So if you call it as
>> myfun(pi)
MATLAB, as always, assigns the calculated value to ans. Again, there's no semicolon, so you see the result displayed. Note that this display has nothing to do with the line y = cos(x.^2); in the function. If you leave off the semicolon there, you'll see that assignment echoed to the command window -- y = -0.9027 -- and the assignment to ans as well -- ans = -0.9027.
If the function has no return values, nothing will be assigned to ans:
function myfun(x)
plot(x)
>> myfun(1:5)
Allen Bibal
el 25 de Feb. de 2017
Editada: Allen Bibal
el 25 de Feb. de 2017
2 votos
A=5;
B=4;
z=A+B;
disp(Z)
Pramod Bhat
el 9 de Feb. de 2012
1 voto
It is not possible. Where there are no arguments MATLAB automatically makes "ans" a variable and assigns value to it. You cant hide it.
1 comentario
Walter Roberson
el 9 de Feb. de 2012
Probably not correct. You can override the display() function, which is what is invoked to output a value when there is no semi-colon after an expression.
Kenneth Cantos
el 25 de Ag. de 2016
0 votos
is there a code that can hide an output on the command window but the item to be hide will be needed on the succeeding formula.
for example:
i will set A=1+2 B=1+3
Formula:
Z=A+B
Z=9
I want to show only the result of Z.
thanks guys.
1 comentario
Walter Roberson
el 25 de Ag. de 2016
Like
Z=A+B;
?
Niklas Berg
el 13 de Oct. de 2022
If your output argument is called x for example just type
clear x
in the end of your function. Then x won't show as ans in the command window.
Kavya
el 24 de Ag. de 2023
0 votos
When you enter a command without a semicolon at the end, MATLAB displays the result.
>> x = 5 + 1
x =
6
Optionally, you can add a semicolon to the end of a command so that the result is not displayed. MATLAB still executes the command, and you can see the variable in the Workspace browser.
>> x = 5 + 1;
Categorías
Más información sobre Entering Commands en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!