-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 回答