there is a problem about these code in Matlab

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)

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

2 Comments

y2=x2; instead of y2=x2
exactly,thanks

This question is closed.

Asked:

on 20 Mar 2013

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!