Calling a function without an Output argument

13 visualizaciones (últimos 30 días)
Telema Harry
Telema Harry el 5 de Abr. de 2021
Comentada: Adam Danz el 6 de Abr. de 2021
Hi Programmers,
I have a function that plots the phase and magnitude of my signal.
I want this function to plot only the magnitude if no ouput argument is provided when the function is called.
Y = Myplot (a,b)
Y = figure(1)
subplot(2,1,1)
stem (a)
subplot(2,1,2)
stem (b)
% I want to plot only stem (a) when the function is called without the
% output argument.
Myplot (a,b)
stem (a)

Respuesta aceptada

Adam Danz
Adam Danz el 5 de Abr. de 2021
Editada: Adam Danz el 5 de Abr. de 2021
Use nargout to determine the number of output arguments.
if nargout==0
% do something
elseif nargout < 2
% do something else
end
  4 comentarios
Telema Harry
Telema Harry el 5 de Abr. de 2021
I modified the code slightly and it gave me the intended result.
if nargout==0
% do something
elseif nargout > 0
% do something else
end
Thank you for your help.
Adam Danz
Adam Danz el 6 de Abr. de 2021
This can be simplified to
if nargout == 0
else
end

Iniciar sesión para comentar.

Más respuestas (1)

David Hill
David Hill el 5 de Abr. de 2021
Change the number of input arguments instead
function y=Myplot(varagin)
y=figure;
if nargin==2
subplot(2,1,1);
stem(varagin{1});
subplot(2,1,2);
stem(varagin{2});
else
stem(varagin{1});
end

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by