Calling a function without an Output argument

11 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.

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

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!