这应该很简单,但我是matlab的新手,请原谅我。
我正在创建一个函数函数,它具有函数y =" x"的某些函数。作为输入。 y可以是一个函数句柄(让我们说y = @(x)x ^ 2),或者我可以是一个符号表达式(比如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*
答案 0 :(得分:0)
您可以将 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)