这应该很容易,但我是 matlab 的新手,所以请原谅我。
我正在制作一个函数函数,它将函数 y = "x 的某个函数"作为输入。 y 可以是函数句柄(假设 y= @(x) x^2 ),或者我可以 y 是一个符号表达式(如 y = x^2)...任何更容易的。
我想通过函数 y 运行 x 列表,并返回计算出的 y 值的列表。 所以结果应该是 [1 4 9 16 25]。如何在函数函数中执行此操作?
它应该看起来像这样:
function myfunc = func(f)
xlist = [1 2 3 4 5]; %IMPORTANT: in this case, xlist's class is "sym"
ylist = ... %statement of something like "f(xlist)" goes here*
您可以将 y 作为函数句柄并在 m 文件本身中调用.....
y = @(x) x.^2 ;
x = [1 2 3 4 5] ;
y = y(x)
如果你想让它成为一个函数...要么在函数中定义 y,要么将其作为输入,如下所示:
function out = myfun(x,y)
if ~isa(y,'function_handle')
error('input t should be a function handle')
end
out = y(x) ;
end
y = @(x) x.^2 ;
x = [1 2 3 4 5] ;
out = myfun(x,y)