MATLAB / Octave:带矢量输入的feval

时间:2013-06-09 16:57:24

标签: matlab octave

我想把一个函数放在feval(f,x)中,它有一个向量作为输入 e.g。

function [ ret ] = f (x)
    ret = x(1)^2 - x(2)^2;
end

x = [1,2]

但是八度音程总是给出错误代码:

`x' undefined near line 6 column 18
evaluating argument list element number 1
evaluating argument list element number 1

似乎feval只能评估数字而不是矢量。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

为你的函数创建一个句柄,然后在句柄上调用feval,将你的向量作为参数传递给它:

h = @(x)myfun(x);
x = [1, 2];
y = feval(h, x);

我在Octave中尝试了你的功能,它似乎有效。