我想通过一个函数来近似数值数据:

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/

10-11 22:40
查看更多