-1

このコードを matlab で実行しようとしています。匿名関数を追加したい。この関数自体には、反復ごとに変化する変数があります。私は成功できませんでした。誰かが私に解決策を提供してもらえますか? 前もって感謝します。

y=[1 2];
a=@(x) 3*x+y.^2;


for n=1:2
a=@(x) a(x) + 3*x+y(n)^2; 
end

a(1)
4

1 に答える 1

1

あなたのコメントに基づいて、代わりに次のことを試してください。

function out = f(x)
    y = [1 2];

    out = 0;
    for n=1:numel(y)
        out = out + 3*x + y(n)^2;
    end
end

と:

>> f(1)
ans =
    11

再帰の必要がなく、読みやすい

于 2013-08-22T05:59:45.390 に答える