Matlab中的匿名函数

时间:2013-08-22 04:23:59

标签: matlab

我尝试在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)

1 个答案:

答案 0 :(得分: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

不需要递归,也更容易阅读