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?

Antworten (1)

Carlos
Carlos am 20 Mär. 2013

0 Stimmen

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 Kommentare

Carlos
Carlos am 20 Mär. 2013
y2=x2; instead of y2=x2
vx2008
vx2008 am 20 Mär. 2013
exactly,thanks

Diese Frage ist geschlossen.

Gefragt:

am 20 Mär. 2013

Geschlossen:

am 20 Aug. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by