用matlab命令追加参数

用matlab命令追加参数,matlab,Matlab,我有一个功能: function launchMe(values) launch('arg1',values.value1,'arg2',values.value2) end 我想创建一个函数,它可以添加到基本的启动参数中 函数myFunc(值,…) 结束 此函数将使用默认参数调用启动,如果additiolas args=>则将它们添加到启动函数中 myFun(values) => launch('arg1',values.value1,'arg2',values.value2) m

我有一个功能:

function  launchMe(values)

launch('arg1',values.value1,'arg2',values.value2)
end
我想创建一个函数,它可以添加到基本的启动参数中

函数myFunc(值,…) 结束

此函数将使用默认参数调用启动,如果additiolas args=>则将它们添加到启动函数中

myFun(values) => launch('arg1',values.value1,'arg2',values.value2)
myFun(values,'toto') => launch('arg1',values.value1,'arg2',values.value2,'toto')
myFun(values,'arg3','tata') => launch('arg1',values.value1,'arg2',values.value2,'arg3','tata')
是否有特定的matlab命令来添加参数和值


多亏了

这可以通过以下机制轻松实现:

function myFunction(varargin)
    launch('arg1', 'value1', varargin{:})
end
现在你可以做了

myFunction('arg2', 'value2')
myFunction('arg2', 'value2', 'arg3', 'value3')
这些调用相当于

launch('arg1', 'value1', 'arg2', 'value2')
launch('arg1', 'value1', 'arg2', 'value2', 'arg3', 'value3')
如果您还想通过管道传递
launch
的输出参数,那么事情会变得稍微复杂一些:

function varargout = myFunction2(varargin)
    if nargout == 0
        launch('arg1', 'value1', varargin{:});
    else
        varargout = cell(1, nargout);
        [varargout{:}] = launch('arg1', 'value1', varargin{:})
    end
end
现在您可以执行以下操作(假设
launch
返回正确数量的参数):


我要寻找的是:每次我调用myFunc(argsn,valueN,…)时,它都会通过添加args和values@lola当前位置如果我理解正确,这正是我回答的第一部分所做的。什么对您不起作用?是的,但例如,对launch的默认调用是launch('arg','value');因此,我想使用默认参数或附加参数来调用它,例如:如果我调用myFunction(默认),它将调用默认启动,如果我调用myFunction('arg2',val2),它将调用启动('arg','value','arg2',val)@lola:如果您使用我对
myFunction
的定义,那么您可以执行
myFunction()
(相当于
launch('arg1','value1')
)和
myFunction('arg2','value2')
(相当于
launch('arg1','value1','arg2','value2')
)。
myFunction2('arg2', 'a')
result = myFunction2('arg2', 'b')
[result1, result2] = myFunction2('arg2', 'c')