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?

回答(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

此问题已关闭。

标签

提问:

2013-3-20

关闭:

2021-8-20

Community Treasure Hunt

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

Start Hunting!

Translated by