0

入力としてベクトルを持つ関数を feval(f,x) に入れたい

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 は数値のみを評価でき、ベクトルは評価できないようです。これを行う方法はありますか?

4

1 に答える 1

0

関数へのハンドルを作成し、ハンドルを呼び出しfevalて、ベクトルを引数として渡します。

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

あなたの関数で Octave でこれを試してみましたが、うまくいくようです。

于 2013-06-09T17:18:31.923 に答える