做一次拟合,二次拟合,对数拟合.要程序和结果.谢谢!(2005,75)(2006,54) (2007,33) (2008,40) (2009,36) (2010,54)
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/18 03:45:49
做一次拟合,二次拟合,对数拟合.要程序和结果.谢谢!(2005,75)(2006,54) (2007,33) (2008,40) (2009,36) (2010,54)
做一次拟合,二次拟合,对数拟合.要程序和结果.谢谢!
(2005,75)(2006,54) (2007,33) (2008,40) (2009,36) (2010,54)
做一次拟合,二次拟合,对数拟合.要程序和结果.谢谢!(2005,75)(2006,54) (2007,33) (2008,40) (2009,36) (2010,54)
打开matlab,新建M文件,粘贴以下程序代码并运行:
X=[2005,2006,2007,2008,2009,2010];
Y=[75,54,33,40,36,54];
a1=polyfit(X,Y,1) %求一次拟合系数
a2=polyfit(X,Y,2) %求二次拟合系数
l=polyfit(log(X),Y,1) %求函数yl=l(1)*log(x)+l(2)中的待定系数l(1)、l(2),此处log为自然对数,可自行调整,比如说以10为底log10
x=[2000:0.01:2015];
y1=a1(1)*x+a1(2); %一次拟合所得函数
y2=a2(1)*x.^2+a2(2)*x+a2(3); %二次拟合系数所得函数
yl=l(1)*log(x)+l(2); %对数拟合所得函数
subplot(3,1,1);
plot(x,y1);grid on;grid minor;
subplot(3,1,2);
plot(x,y2);grid on;grid minor;
subplot(3,1,3);
plot(x,yl);grid on;grid minor;
%作出拟合曲线,注意此时一次拟合和对数拟合曲线几乎重合,故分图作出
运行结果:
a1 =
1.0e+003 *
-0.0043 8.7670
a2 =
1.0e+007 *
0.0000 -0.0019 1.8936
l =
1.0e+004 *
-0.8723 6.6386
注:1.0e+003 =10^3,其他类似