Matlab:将总和放入函数中

问题描述 投票:0回答:1

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

f = @(a0,xdata) a0(1).*xdata + ... + a0(n) .* xdata.^n

我该怎么做,因为for循环在函数中不起作用?我知道有一个内部多项式函数,但是由于我可能想将和扩展为非整数指数,因此我想编写自己的函数。

matlab function octave
1个回答
0
投票
f = @(a0,xdata) sum(a0 .* xdata.^(1:length(a0)));

如果您坚持要将此函数编写为匿名函数,但我建议将此函数写为带有函数体的多行:

function out = f(a0,xdata)
    exponents = 1:length(a0);
    out = sum(a0 .*xdata .^ exponents);
end
© www.soinside.com 2019 - 2024. All rights reserved.