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?

Réponses (1)

Carlos
Carlos le 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

2 commentaires

Carlos
Carlos le 20 Mar 2013
y2=x2; instead of y2=x2
vx2008
vx2008 le 20 Mar 2013
exactly,thanks

Cette question est clôturée.

Question posée :

le 20 Mar 2013

Clôturé :

le 20 Août 2021

Community Treasure Hunt

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

Start Hunting!

Translated by