求MATLAB 对数函数拟合公式和方法 A=[2011 2012 2013 2014 2015] B=[32074 36564 41683 47519 54172]

来源:学生作业帮助网 编辑:作业帮 时间:2024/08/30 00:46:36
求MATLAB 对数函数拟合公式和方法 A=[2011 2012 2013 2014 2015] B=[32074 36564 41683 47519 54172]
x͓J@_evMtH3i*6t;wiijmUPXQ"*xCĴd&-IFw"09a&QNʔ>=l쐍!S&d dNmVdK%)-Q "hL*EqUQ\$_ ?# _yV-ڪN8((2aٽdMζY7O5cvF]zMH[[ys̅im_Az!b\г3<'dk*Ky9c&:e?ݾ3lN׻K>M G?gw:VЊ%X !ލ)}Xb0fH i`%_hFu.PYB aJ #쓍ty݃[+,+{?>w(nBq78ϗR7uu>#$ɲHpKIi

求MATLAB 对数函数拟合公式和方法 A=[2011 2012 2013 2014 2015] B=[32074 36564 41683 47519 54172]
求MATLAB 对数函数拟合公式和方法 A=[2011 2012 2013 2014 2015] B=[32074 36564 41683 47519 54172]

求MATLAB 对数函数拟合公式和方法 A=[2011 2012 2013 2014 2015] B=[32074 36564 41683 47519 54172]
可以试试最小二乘拟合.A是x,B是y吧,原型是对数函数,是y=log(a)x吧,a是底,有1个系数a未知,要求a.如果你说的对数函数原型是y=a*log(b)x+c的话你类似的改改就行.
clear all
A=[2011 2012 2013 2014 2015];
B=[32074 36564 41683 47519 54172];
f=inline('log(x)/log(a(1))','a','x');
[a1,res]=lsqcurvefit(f,[2],A,B);
a1
输出的就是系数a.
或者用 nlinfit
clear all
A=[2011 2012 2013 2014 2015];
B=[32074 36564 41683 47519 54172];
f=inline('log(x)/log(a(1))','a','x');
a2=nlinfit(A,B,f,[2]);
a2
输出的也是系数a的值
两个方法都算得1.0002.