我正在尝试制作一个简单的函数来对给定的数据集进行指数曲线拟合。我写了以下内容:
function expCurveFit(d){
var sum_x2 = 0, sum_lny = 0, sum_x = 0, sum_xlny = 0, n = d.length;
for(var i=0;i<d.length;i++){
var x = d[i][0];
var y = d[i][1];
sum_x2 += x^2, sum_lny += Math.log(y), sum_x += x, sum_xlny += x*Math.log(y);
}
var a = ((sum_lny*sum_x2)-(sum_x*sum_xlny))/((n*sum_x2)-sum_x^2);
var b = ((n*sum_xlny)-(sum_x*sum_lny))/((n*sum_x2)-sum_x^2);
return [a,b];
}
但是a和b好像不对。我正在使用 Wolfram 的基本公式.输入的数组格式为 [[x1,y1],[x2,y2]...[xn,yn]]
。有人有工作建议、插件、库或修改后的功能吗?
最佳答案
^ is the XOR operator在 JavaScript 中,而不是求幂。
将 x^2
替换为 Math.pow(x,2)
或 x*x
并对两个地方执行相同的操作有 sum_x^2
。
关于javascript - JS指数曲线拟合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34951671/