最小二乘拟合法实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数值计算方法》实验报告

专业:姓名:学号:班级:成绩:1.实验名称

实验5 最小二乘拟合法

2.实验题目

在某化学反应里,测得某物质的浓度y(单位:%)随时间t

(单位:min)的变化数据如表5—7所列。

理论上已知y与t间的关系为

b

t

,

y/

ae

其中a>0和b<0为待定系数。上式两端取对数可得ln y=ln

a+b/t.做变量替换

z=ln y,x=1/t,并记A=ln a,B=b,则有

z=A+Bx.

根据所测数据,利用最小二乘直线拟合法先确定系数A和B,

进而给出y与t间的关系。

3.实验目的

熟练使用最小二乘拟合法4.基础理论

最小二乘拟合法

5.实验环境

Microsoft Visual C++ 6.实验过程

7.结果分析

本次试验令我更加熟悉最小二乘拟法;

8.附录:程序清单

#include<>

#include<>

void main(){

int i=0;

double z[16],x[16],D,a,b;

double t[16]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};

double y[16]={,,,,,,,,,,,,,,,};

double sum_x=0,sum_x2=0,sum_y=0,sum_xy=0;

for(i=0;i<16;i++){

x[i]=1/t[i];

z[i]=log(y[i]);

}

for(i=0;i<16;i++){

sum_x=sum_x+x[i];

sum_x2=sum_x2+x[i]*x[i];

sum_y=sum_y+z[i];

sum_xy=sum_xy+x[i]*z[i];

}

D=sum_x2*16-sum_x*sum_x;

a=(16*sum_xy-sum_x*sum_y)/D;

b=(sum_x2*sum_y-sum_x*sum_xy)/D;

printf("A=%,B=%\n\n",a,b);

printf("y=e^%*e^(%t)",a,b);

}

相关文档
最新文档