我尝试在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)
答案 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
不需要递归,也更容易阅读