用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')