Matlab:如何通过函数传递列表,返回答案列表

时间:2017-10-10 04:59:09

标签: matlab list parameter-passing

这应该很简单,但我是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*

1 个答案:

答案 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)