资源描述:
《数值分析上机作业》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数值分析上机实验报告选题:曲线拟合的最小二乘法指导老师:专业:学号:姓名:昆明理工大学数值分析上机实验报告课题八曲线拟合的最小二乘法一、问题提出从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量y与时间t的拟合曲线。t(分)0510152025303540455055y(×10-4)01.272.162.863.443.874.154.374.514.584.024.64二、要求1、用最小二
2、乘法进行曲线拟合;2、近似解析表达式为;3、打印出拟合函数,并打印出与的误差,;4、另外选取一个近似表达式,尝试拟合效果的比较;5、*绘制出曲线拟合图*。三、目的和意义1、掌握曲线拟合的最小二乘法;2、最小二乘法亦可用于解超定线代数方程组;3、探索拟合函数的选择与拟合精度间的关系。四、计算公式对于给定的测量数据(xi,fi)(i=1,2,…,n),设函数分布为特别的,取为多项式(j=0,1,…,m)9昆明理工大学数值分析上机实验报告则根据最小二乘法原理,可以构造泛函令(k=0,1,…,m)则可以得到法方程求该解方程组,
3、则可以得到解,因此可得到数据的最小二乘解曲线拟合:实际工作中,变量间未必都有线性关系,如服药后血药浓度与时间的关系;疾病疗效与疗程长短的关系;毒物剂量与致死率的关系等常呈曲线关系。曲线拟合是指选择适当的曲线类型来拟合观测数据,并用拟合的曲线方程分析两变量间的关系。五、结构程序设计在程序结构方面主要是按照顺序结构进行设计,在进行曲线的拟合时,为了进行比较,在程序设计中,直接调用了最小二乘法的拟合函数polyfit,并且依次调用了plot、figure、holdon函数进行图象的绘制,最后调用了一个绝对值函数abs用于计算
4、拟合函数与原有数据的误差,进行拟合效果的比较。9昆明理工大学数值分析上机实验报告5.1用一元三次多项式进行拟合计算解析表达式系数:a1,a2,a3t=[0510152025303540455055];y=[01.272.162.863.443.874.154.374.514.584.024.64];>>n=length(xi);f=0.34364.*10.^(-4)*x.^3-5.2156.*10.^(-3)*x.^2+0.26340.*x+0.017839;x=0:0.01:55;F=0.34364.*10.^(-4
5、)*x.^3-5.2156.*10.^(-3)*x.^2+0.26340.*x+0.017839;fy=abs(f-y);fy2=fy.^2;Ew=max(fy),E1=sum(fy)/n,E2=sqrt((sum(fy2))/n)plot(xi,y,'t*'),holdon,plot(t,F,'b-'),holdoff所得函数为运行后屏幕显示数据与拟合函数f的最大误差Ew,平均误差E1和均方根误差E2及其数据点和拟合曲线y=f(x)的图形如图5.1.Ew=0.4243E1=0.0911E2=0.14679昆明理工大学
6、数值分析上机实验报告图5.1一元三次多项式拟合曲线误差图5.2用一元四次多项式进行拟合:计算多项式系数:a1,a2,a3,a4xi=[0510152025303540455055];y=[01.272.162.863.443.874.154.374.514.584.024.64];n=length(xi);x=0:0.01:55;f=0.6026.*10.^(-6)*x.^4-0.31918.*10.^(-4)*x.^3-0.0029323.*x.^2+0.23807.*x+0.060449;x=0:0.01:55;9
7、昆明理工大学数值分析上机实验报告F=0.6026.*10.^(-6)*x.^4-0.31918.*10.^(-4)*x.^3-0.0029323.*x.^2+0.23807.*x+0.060449;fy=abs(f-y);fy2=fy.^2;Ew=max(fy),E1=sum(fy)/n,E2=sqrt((sum(fy2))/n)plot(xi,y,'r*'),holdon,plot(x,F,'b-'),holdoff所得函数为运行后屏幕显示数据与拟合函数f的最大误差Ew,平均误差E1和均方根误差E2及其数据点和拟合曲
8、线y=f(x)的图形如图5.2。Ew=0.3897E1=0.1034、E2=0.1429图5.2一元四次多项式拟合曲线误差图9昆明理工大学数值分析上机实验报告5.3用一元二次多项式进行拟合:计算多项式系数:a1,a2,a3输入程序:>>symsa1a2a3x=[0510152025303540455055];fi=a1.*x.^2