回 帖 发 新 帖 刷新版面

主题:关于M函数调用的参数问题

一个M函数有4个出口参数,如果我某一次调用中只是需要其中的第二个和第四个参数,我该以什么形式调用该函数?(比如这个函数是这个形式的:function [a,b,c,d]=try(x,y))

回复列表 (共1个回复)

沙发

要么你四个参数都输出,只用其中的两个就可以了,

要么你程序中设定,当由两个输出参数时,输出你想要输出的两个变量就可以了

举例如下:
function varargout=mytest(x,y)
if(nargout==2),
    varargout{1}=x-y;
    varargout{2}=x/y;
end
if(nargout==4),
    varargout{1}=x+y;
    varargout{2}=x-y;
    varargout{3}=x*y;
    varargout{4}=x/y;
end
当由两个输出参数的话,就返回两个变量
当有四个输出变量的话,你就返回四个变量
在matlab中调用如下:
>> [a,b]=mytest(1,2)

a =

    -1


b =

    0.5000
>> [a,b,c,d]=mytest(1,2)

a =

     3


b =

    -1


c =

     2


d =

    0.5000

应该比较清楚了吧

我来回复

您尚未登录,请登录后再回复。点此登录或注册