您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 数值分析与实验(数学081-张燃-3080801119)
08级应用数学《数值分析与实验(实践)》任务书一、设计目的通过《数值分析与实验(实践)》实践环节,掌握本门课程的众多数值解法和原理,并通过编写C语言或matlab程序,掌握各种基本算法在计算机中的具体表达方法,并逐一了解它们的优劣、稳定性以及收敛性。在熟练掌握C语言或matlab语言编程的基础上,编写算法和稳定性均佳、通用性强、可读性好,输入输出方便的程序,以解决实际中的一些科学计算问题。二、设计教学内容1、利用所给数据进行数据的多项式和可转化成多项式形式的函数拟合;试分别用抛物线2ycxbxa和指数曲线bxaey拟合下列数据ix11.522.533.544.5iy33.479.50122.65159.05189.15214.15238.65252.50ix55.566.577.58iy267.55280.50296.65301.40310.40318.15325.15比较2个拟合函数的优劣。三、设计时间2011—2012学年第1学期:第16周共计一周教师签名:2010年12月12日前言数值计算方法是一种利用计算机解决数学问题的数值近似解方法,特别是无法用人工过计算器计算的数学问题。数值计算方法常用于矩阵高次代数方程矩阵特征值与特征向量的数值解法,插值法,线性方程组迭代法,函数逼近,数值积分与微分,常微分方程初值问题数值解等。作为数学与计算机之间的一条通道,数值计算的应用范围已十分广泛,作为用计算机解决实际问题的纽带,数值算法在求解线性方程组,曲线拟合、数值积分、数值微分,迭代方法、插值法、拟合法、最小二乘法等应用广泛。数值计算方法是和计算机紧密相连的,现代计算机的出现为大规模的数值计算创造了条件,集中而系统的研究适用于计算机的数值方法是十分必要的。数值计算方法是在数值计算实践和理论分析的基础上发展起来的。通过数值计算方法与实验将有助于我们理解和掌握数值计算方法基本理论和相关软件的掌握,熟练求解一些数学模和运算。并提高我们的编程能力来解决实际问题。摘要对于本次计算方法与实习的实践环节,我们采用最小二乘法对给定的数据进行拟合,在MATLAB程序下分别用抛物线与指数函数拟合。通过误差平方和分析,我们发现本组数据在抛物线下拟合程度较好。通过本次实践环节,我们很好的了解了最小二乘法的原理。出色的完成了本次课程设计。[关键字]:最小二乘法;拟合函数;抛物线;指数曲线目录前言…………………………………………………………………………………1摘要…………………………………………………………………………………2实验设计内容………………………………………………………………………4一·曲线拟合研究…………………………………………………………………41.1实验目的……………………………………………………………………41.2实验内容……………………………………………………………………41.3算法…………………………………………………………………………41.4Matlab程序…………………………………………………………………51.4.1抛物线拟合运行结果……………………………………………………61.4.2指数函数拟合运行结果…………………………………………………61.5结果分析……………………………………………………………………71.5.1抛物线的误差平方和分析………………………………………………71.5.2指数函数的误差平方和分析……………………………………………7参考文献……………………………………………………………………………9实验设计内容一:曲线拟合研究1.1实验目的:了解最小二乘法的基本原理,通过计算机解决实际问题;1.2实验内容:利用所给数据进行数据的多项式和可转化成多项式形式的函数拟合试分别用抛物线2ycxbxa和指数曲线bxaey拟合下列数据ix11.522.533.544.5iy33.479.50122.65159.05189.15214.15238.65252.50ix55.566.577.58iy267.55280.50296.65301.40310.40318.15325.15比较2个拟合函数的优劣。1.3算法已知数据njyxii...,21,,,,求多项式nmxaPmiii0x,使得21010,...,njjijmiimyxaaaa为最小。注意到此时kkxx,多项式系数maaa,...,10满足下面的线性方程组:mmmmmmmTTTaaaSSSSSSSSS........................10102112110其中njkjkxS1mk2,...,2,1,0njkjjkxyT1mk,...,2,1,0然后只要调用解线性方程组的函数程序即可。1.4Matlab程序如下:functionZXE(x,y,m)S=zeros(1,2*m+1);T=zeros(m+1,1);fork=1:2*m+1S(k)=sum(x.^(k-1));endfork=1:m+1T(k)=sum(x.^(k-1).*y);endA=zeros(m+1,m+1);a=zeros(m+1,1);fori=1:m+1forj=1:m+1A(i,j)=S(i+j-1);endenda=A\T;fork=1:m+1fprintf('a[%d]=%f\n',k,a(k));end1.4.1抛物线拟合运行结果:在MATLAB软件里输入:x=[11.522.533.544.555.566.577.58];y=[33.479.50122.65159.05189.15214.15238.65252.50267.55280.50296.65301.40310.40318.15325.15];m=2;ZXE(x,y,m)输出结果:a[1]=-45.333297a[2]=94.230200a[3]=-6.131610所以抛物线拟合函数为y=-45.333297+94.230200x-6.1316102x1.4.2指数函数拟合运行结果令z=log(y),m=1。在MATLAB软件里输入:x=[11.522.533.544.555.566.577.58];y=[33.479.50122.65159.05189.15214.15238.65252.50267.55280.50296.65301.40310.40318.15325.15];m=1;z=log(y);y=z;ZXE(x,y,m)得出结果:a[1]=4.210683a[2]=0.238960又a=4026.67e4.210683,由1,0abeaa得指数曲线为0.239000x67.345292ey。1.5结果分析1.5.1抛物线的误差平方和分析MATLAB程序如下:x=[11.522.533.544.555.566.577.58];Y=-45.333297+94.230200*x-6.131610*(x.^2);y=[33.479.50122.65159.05189.15214.15238.65252.50267.55280.50296.65301.40310.40318.15325.15];z=(Y-y).^2;sum(z)输出结果:ans=486.59211.5.2指数函数的误差平方和分析MATLAB程序如下:x=[11.522.533.544.555.566.577.58];Y=67.4026.*(exp(0.238960.*x));y=[33.479.50122.65159.05189.15214.15238.65252.50267.55280.50296.65301.40310.40318.15325.15];z=(Y-y).^2;sum(z)输出结果如下:ans=4.7949e+004由误差平方和得知:抛物线拟合函数y=-45.333297+94.230200x-6.1316102x较指数函数0.239000x67.345292ey误差平方小,所以抛物线拟合程度好。参考文献[1]孙志终,吴宏伟,闻震初.计算方法与实验.南京:东南大学出社,2004[2]李庆扬,王能超,易大义.数值分析.北京:清华大学出版社,2001[3]SorerK,BulirschR.数值分析引论.孙文渝.南京:南京大学出版社,1995[4]王能超.数值分析简明教程.北京:高等教育出版社,1984[5]袁慰平,孙志忠,吴宏伟.计算方法与实习.南京:东南大学出版社,2005
本文标题:数值分析与实验(数学081-张燃-3080801119)
链接地址:https://www.777doc.com/doc-6213711 .html