我想通过一个函数来近似数值数据:
f = @(a0,xdata) a0(1).*xdata + ... + a0(n) .* xdata.^n
由于for循环在函数中不起作用,该怎么办?我知道有一个内部多项式函数,但是由于我可能想将和扩展为非整数指数,因此我想编写自己的函数。
最佳答案
f = @(a0,xdata) sum(a0 .* xdata.^(1:length(a0)));
如果您坚持要将此函数编写为匿名函数,但我建议您在带有函数体的多行代码中将此函数编写为:
function out = f(a0,xdata)
exponents = 1:length(a0);
out = sum(a0 .*xdata .^ exponents);
end
关于matlab - Matlab:将总和放入函数中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60626864/