本科生课程论文题目:数值分析课程设计姓名:学院:理学与信息科学学院专业:信息与计算科学专业班级:学号:指导教师:完成时间:2011年12月23日二○一一年十二月二十三日课 程 论 文 任 务 书论文题目 数值分析课程设计 论文内容(需明确列出研究的问题): 运用MATLAB 数学软件设计出数值分析的求拉格朗日插值多项式和牛顿插值多项式以及Polyfit 多项函数拟合来求22)(cx bx a x P ++=的拟合曲线和列主元Guass 消去法解方程组。
资料、数据、技术水平等方面的要求:论文要符合一般学术论文的写作规范,具备学术性、科学性和一定的创造性。
文字要流畅、语言要准确、论点要清楚、论据要准确、论证要完整、严密,有独立的观点和见解。
内容要理论联系实际,计算数据要求准确,涉及到他人的观点、统计数据或计算公式等要标明出处,结论要写的概括简短。
参考文献的书写按论文中引用的先后顺序连续编码。
(根据情况修改) 发出任务书日期2011.12.18 完成论文(设计)日期 2011.12.23 学科组或教研室意见(签字) 院、系(系)主任意见(签字)目录前言........................................................................................................ - 1 - 一、设计题1: .................................................................................... - 2 -(一)、求拉格朗日插值多项式 ................................................... - 2 -1.1理论知识 ............................................................................. - 2 -1.2拉格朗日插值的设计思路与算法如下: ......................... - 3 -2.求拉格朗日插值多项式的程序如下:(即Language.m文件) -3 -3.程序运行操作过程与输出结果 ............................................ - 4 -4.对计算过程与结果分析 ........................................................ - 5 -(二)、求牛顿插值多项式 ......................................................... - 5 -1.1理论知识 ............................................................................. - 5 -1.2设计思路与算法步骤 ......................................................... - 6 -2.求牛顿插值多项式的程序如下:(即Newton.m文件) ....... - 6 -3.程序运行操作过程与输出结果 ............................................ - 7 -4.对计算过程与结果的分析 ................................................. - 8 -5.在课程设计中的心得体会 .................................................... - 8 -二、设计题2: .................................................................................... - 8 -1.1理论知识 ............................................... 错误!未定义书签。
1.2算法步骤 ............................................... 错误!未定义书签。
2程序运行操作过程与输出结果 .............. 错误!未定义书签。
3.对计算过程与结果的分析 ...................... 错误!未定义书签。
4.在课程设计中的心得体会 ...................... 错误!未定义书签。
三、设计题3: ...................................................... 错误!未定义书签。
1.1理论知识 ............................................... 错误!未定义书签。
1.2设计思路 ............................................... 错误!未定义书签。
1.3算法步骤 ............................................... 错误!未定义书签。
2.程序清单 ............................................... 错误!未定义书签。
3.程序运行操作过程与输出结果 ........... 错误!未定义书签。
4.对计算过程与结果的分析 ...................... 错误!未定义书签。
5.在课程设计中的心得体会 ...................... 错误!未定义书签。
参考文献.................................................................. 错误!未定义书签。
【ABSTRACT】..................................................... 错误!未定义书签。
数值分析课程设计信息与计算科学专业杨宝赟指导教师常桂娟【摘要】本文对运用MATLAB软件分别对求拉格朗日插值多项式、牛顿插值多项式、曲线拟合、高斯列主元消去法进行设计,设计从理论知识、设计思路、算法步骤、程序清单等方面进行了系统的表达。
理论知识方面分别给出了以上各个方法的来由、定义等,设计思路构成了程序清单的灵魂,简要表达了实现程序的各个步骤。
最后,通过以上环节总结出自己对各个程序设计的心得体会。
【关键词】MATLAB 拉格朗日插值牛顿插值曲线拟合高斯消去前言计算机与计算数学的发展以及它们在工程及科学技术问题中的广泛应用,使得数值分析(计算方法)课程对高等院校理工科学生来说越来越重要。
数值分析是一门基础课,它象通常的数学课程一样有自身严密的科学体系,但它又是一门应用性很强的课程,目的是使学生能够用本课程的理论在计算机上实现有关的科学与工程计算,计算能力的培养对工科各专业的学生都是十分重要的,数值分析课程的课程设计环节正是为了适应这种需要而设置的,使得学生在学习各种算法时,能在课程设计环节中深刻体会算法的内涵、物理背景和实际意义,同时也能提高学生学习该课程的兴趣, 而更重要的是能提高学生综合运用知识的能力和培养学生利用计算机解决实际问题的能力。
一、设计题1:根据下表所列的数据点求出其拉格朗日插值多项式及牛顿插值多项式,并计算当x=2.0时的y 值。
(一)、求拉格朗日插值多项式 1.1理论知识拉格朗日插值法是以法国十八世纪数学家约瑟夫•路易斯•拉格朗日命名的一种多项式插值方法。
许多实际问题中都用函数来表示某种内在联系或规律,而不少函数都只能通过实验和观测来了解。
如对实践中的某个物理量进行观测,在若干个不同的地方得到相应的观测值,拉格朗日插值法可以找到一个多项式,其恰好在各个观测的点取到观测到的值。
这样的多项式称为拉格朗日(插值)多项式。
数学上来说,拉格朗日插值法可以给出一个恰好穿过二维平面上若干个已知点的多项式函数。
拉格朗日插值法最早被英国数学家爱德华•华林于1779年发现,不久后(1783年)由莱昂哈德•欧拉再次发现。
1795年,拉格朗日在其著作《师范学校数学基础教程》中发表了这个插值方法,从此他的名字就和这个方法联系在一起。
对某个多项式函数,已知有给定的k + 1个取值点:)(0,,...,(,)nnx y x y其中j x 对应着自变量的位置,而j y 对应着函数在这个位置的取值。
假设任意两个不同的j x 都互不相同,那么应用拉格朗日插值公式所得到的拉格朗日插值多项式为:()0()nj j j L x y l x ==∑其中每个()j l x 为拉格朗日基本多项式(或称插值基函数),其表达式为:1100,011()......nj j i n j i i j j ij j j j j j n x x x x x x x x x x l x x x x x x x x x x x -+=≠-+-----==-----∏。
拉格朗日基本多项式 的特点是在j x 上取值为1,在其它的点,()i x i j ≠上取值为0。
1.2拉格朗日插值的设计思路与算法如下:(1)输入x ,j x ,j y ()0,1,2,...,i n =。
(2)对()0,1,2,...,i n =置0,()nij i i j j ix x l x x x =≠-=-∏。
(3)置()0()nj j j L x y l x ==∑。
(4)输出()L f x ≈。
2.求拉格朗日插值多项式的程序如下:(即Language.m 文件)function f=Language(x,y,x0) %求已知数据点的拉格朗日插值多项式 %已知数据点的x 坐标向量:x %已知数据点的y 坐标向量:y %插值的x 坐标:x0%求得的拉格朗日插值多项式在x0处的插值:f syms t;if(length(x)==length(y)) n=length(x); elsedisp('x 和y 的维数不相等!'); return;end %检错f=0.0;for(i=1:n)l=y(i);for(j=1:i-1)l=l*(t-x(j))/(x(i)-x(j));end;for(j=i+1:n)l=l*(t-x(j))/(x(i)-x(j));%计算拉格朗日基函数end;f=f+l; %计算拉格朗日插值函数simplify(f); %化简if(i==n)if(nargin==3)f=subs(f,'t',x0); %计算插值点的函数值elsef=collect(f); %将插值多项式展开f=vpa(f,6); %将插值多项式的系数化成6位精度的小数 endendend3.程序运行操作过程与输出结果在文件中新建一个M文件Language.m,编写出求拉格朗日插值多项式的程序,然后在命令区调用Language.m文件,即在命令区打入f=Language(x,y)即可得到2f t ,再次调用Language.m文件,利用f=Language(x,y,2)语句得出x=2.0时的y值。