Function 调用变量输出号的函数
我发现自己试图用内置函数连接自定义类,遇到了一种只能用eval解决的情况,我想要一种“更干净”的方法 基本上,内置函数定义为Function 调用变量输出号的函数,function,matlab,parameters,output,Function,Matlab,Parameters,Output,我发现自己试图用内置函数连接自定义类,遇到了一种只能用eval解决的情况,我想要一种“更干净”的方法 基本上,内置函数定义为varargout=blablabla(varargin) 我在自定义类中定义了一个重写函数,如varargout=blablabla(varargin)。该函数如下所示: function varargout=blabla(varargin) varargout=blabla(function_of_varargin) end varargin的函数将其从自定义
varargout=blablabla(varargin)
我在自定义类中定义了一个重写函数,如varargout=blablabla(varargin)
。该函数如下所示:
function varargout=blabla(varargin)
varargout=blabla(function_of_varargin)
end
varargin
的函数将其从自定义类转换为内置类
但它不能按原样工作:基本上,当在重写函数内调用内置函数时,它只看到一个输出参数(varargout
),即使使用多个输出参数调用自定义重写函数也是如此
我基本上是这样解决的:
[varargout{1},varargout{2},...,varargout{nargout}]=blabla(function_of_varargin)
使用循环和评估构建LHS。您是否尝试过以下方法:
[varargout{1:nargout}] = blabla(varargin{:})
?好吧,你知道什么,当matlab知识枯竭时,总会有一些神奇的语法让它工作。它工作得非常完美,感谢+1好的捕获:)这不仅限于类和成员函数。也适用于普通函数。@angainor:是的。应用于单元阵列的单元阵列扩展
varargin
和varargout
——经常被忽略。它们实际上只是普通的单元阵列:)看看