Calling a function without an Output argument

31 views (last 30 days)
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)

Accepted Answer

Adam Danz
Adam Danz on 5 Apr 2021
Edited: Adam Danz on 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 Comments
Telema Harry
Telema Harry on 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 on 6 Apr 2021
This can be simplified to
if nargout == 0
else
end

Sign in to comment.

More Answers (1)

David Hill
David Hill on 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

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!