Calling a function without an Output argument

13 vues (au cours des 30 derniers jours)
Telema Harry
Telema Harry le 5 Avr 2021
Commenté : Adam Danz le 6 Avr 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)

Réponse acceptée

Adam Danz
Adam Danz le 5 Avr 2021
Modifié(e) : Adam Danz le 5 Avr 2021
Use nargout to determine the number of output arguments.
if nargout==0
% do something
elseif nargout < 2
% do something else
end
  4 commentaires
Telema Harry
Telema Harry le 5 Avr 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 le 6 Avr 2021
This can be simplified to
if nargout == 0
else
end

Connectez-vous pour commenter.

Plus de réponses (1)

David Hill
David Hill le 5 Avr 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

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by