Calling a function without an Output argument

11 visualizzazioni (ultimi 30 giorni)
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)

Risposta accettata

Adam Danz
Adam Danz il 5 Apr 2021
Modificato: Adam Danz il 5 Apr 2021
Use nargout to determine the number of output arguments.
if nargout==0
% do something
elseif nargout < 2
% do something else
end
  4 Commenti
Telema Harry
Telema Harry il 5 Apr 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 il 6 Apr 2021
This can be simplified to
if nargout == 0
else
end

Accedi per commentare.

Più risposte (1)

David Hill
David Hill il 5 Apr 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

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by