在MATLAB

时间:2015-10-30 17:15:45

标签: matlab function arguments

我有一个返回类的函数,例如:

xgrid = [1,2,3]
vals = [4,3,6]
f = @(k)griddedInterpolant(xgrid*k, vals)

然后我可以得到类成员,在这种情况下是插值的。然后我可以使用插值来获得每一点的价值。

inter = f(3) % for example
inter(100) % returns value at point 100.

有没有办法,我可以在一个建筑中做到这一点?例如:

f(3)(100) % will return me value of interpolant

1 个答案:

答案 0 :(得分:0)

在matlab中不允许这样的嵌套函数调用,你必须使用辅助函数来解决这个问题。

paren = @(x, varargin) x(varargin{:});
f2=@(k,x)paren(f(k),x)
f2(3,100)