Info

This question is closed. Reopen it to edit or answer.

there is a problem about these code in Matlab

1 view (last 30 days)
vx2008
vx2008 on 20 Mar 2013
Closed: MATLAB Answer Bot on 20 Aug 2021
code is as below:
function [y1,y2]=test(x1,x2)
if nargin==1
y1=x1;
if nargout==2
y2=x1;
end
else
if nargout==1
y1=x1+x2;
else
y1=x1;
y2=x2
end
end
after that, I execute the command as below: [x,y]=test(3,6)
then I get the result as below: y2=6 x=3 y=6
But my expect result shoud be: x=3 y=6
why does y2 come out here?

Answers (1)

Carlos
Carlos on 20 Mar 2013
Try
function [y1,y2]=test(x1,x2)
if nargin==1
y1=x1;
if nargout==2
y2=x1;
end
else
if nargout==1
y1=x1+x2;
else
y1=x1;
y2=x2;
end
end

This question is closed.

Community Treasure Hunt

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

Start Hunting!