数值分析课程设计Word文档格式.docx
《数值分析课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《数值分析课程设计Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
课程论文任务书
学生姓名指导教师
论文题目数值分析上机实习论文
论文内容(需明确列出研究的问题):
运用所学过的知识,通过使用
Matlab软件实现对数值分析问题的计算机处理。
本篇论文主要研究的问题包括以下三个问题:
一是朗格朗日插值多项式和牛顿插值多项式;
二是对实验数据的求解以及画出拟合曲线;
三是列主元Gauss消去法解方程组的上机操作。
通过对以上问题的研究以了解matlab软件的应用以及相关数值分析知识的掌握。
资料、数据、技术水平等方面的要求:
论文要符合一般学术论文的写作规范,具备学术性、科学性和一定的创造性。
文字要流畅、语言要准确、论点要清楚、论据要准确、论证要完整、严密,有独立的观点和见解。
内容要理论联系实际,计算数据要求准确,涉及到他人的观点、统计数据或计算公式等要标明出处,结论要写的概括简短。
参考文献的书写按论文中引用的先后顺序连续编码。
(根据情况修改)
发出任务书日期2012.12.07完成论文(设计)日期2011.12.14
学科组或教研室意见(签字)
院、系(系)主任意见(签字)
目录
摘要……………………………………………………………………1
引言……………………………………………………………………1
1.拉朗格朗日插值多项式和牛顿插值多项式计算…………………2
1.1拉格朗日插值多项式……………………………………………2
1.1.1理论知识………………………………………………………2
1.1.2程序清单………………………………………………………3
1.1.3程序运行及输出结果…………………………………………3
1.2牛顿插值多项式…………………………………………………4
1.2.1理论知识……………………………………………………4
1.2.2程序清单……………………………………………………5
1.2.3程序运行及结果……………………………………………6
1.3计算结果分析……………………………………………………6
2.根据实验数据求解拟合曲线………………………………………6
2.1.理论知识…………………………………………………………6
2.2程序清单…………………………………………………………7
2.3程序运行及结果…………………………………………………7
2.4计算结果分析……………………………………………………7
3.用列主元Gauss消去法解方程组…………………………………8
3.1理论知识…………………………………………………………8
3.2程序清单…………………………………………………………9
3.3程序运行及运算结果……………………………………………9
3.4计算结果的分析…………………………………………………10
4.心得体会……………………………………………………………10
5.参考文献……………………………………………………………11
数值分析上机实习论文
信息与计算科学专业徐以刚
指导教师常桂娟
摘要:
本文主要研究以下三个问题关于数值分析所学知识运用Matlab软件在上机实际操作中的应用:
一是拉格朗日插值多项式和牛顿插值多项式的计算;
二是根据实验数据求解拟合曲线;
三是用列主元Gauss消去法解方程组。
通过实际的操作,进一步的掌握和理解数值分析的相关知识以及对Matlab软件的学习。
关键词:
拉格朗日插值多项式牛顿插值多项式拟合曲线Gauss消去法
Numericalanalysisonkeypracticepapers
InformationandComputingScienceYigangXu
TutorGuijuanChang
Abstract:
Itisadigitalcomputertosolvemathematicalproblemsinthetheoryandmethodsforthestudy.MATLABsoftwareisfrequentlyusedmathematicalcomputerprogramoperatingsoftware.ThispaperstudiesthefollowingthreequestionsintheMATLABsoftwareinpracticalproblems:
First,LagrangeandNewtoninterpolationpolynomialinterpolationpolynomialcalculation;
thesecondisbasedoncurvefittingexperimentaldatatosolve;
thirdcolumnisthemainelementGausseliminationmethodtosolveequations.Throughtheactualoperation,graspthenumericalanalysisofrelevantknowledgetostudyMATLABsoftware.
Keywords:
NewtoninterpolationpolynomialLagrangeinterpolationfittingcurve
Gausseliminationmethod.
引言当今时代,数学知识已经成为科学研究和工程技术领域基础知识,计算问题是数学研究过程中一个重大难题,绝大数的问题都得不到准确的解或者计算量很大,需要借助计算机进行数值求解。
数值分析就是主要介绍现代科学计算中常用的数值计算方法及其基本原理,研究并解决数值问题的近似解,是数学理论与计算机和实际问题的有机结合,主要内容包括插值方法、最小二乘法、拟合法等。
数值分析课程需要和计算机紧密结合,各种数学运行软件也是学习数值分析的必备课程。
Matlab软件就是其中一个重要的软件,熟练掌握运用Matlab也成为学习数值分析的必备技能。
本文就是针对日常生活中的若干数值分析知识和数学模型问题以及这些相关问题在Matlab软件上的运行进行讨论。
主要包括三个方面一是拉格朗日插值多项式和牛顿插值多项式的计算;
这三个问题是数值分析研究中的比较基本的问题,相关程序在Matlab软件上的实现也是每个同学必须具备的能力。
同时,本文也在文章末尾总结了对于本次实习过程中所获得的实验心得。
为以后的学习研究提供借鉴。
1.拉格朗日插值多项式和牛顿插值多项式计算
根据下表所列的数据点求出其拉格朗日插值多项式及牛顿插值多项式,并计算当x=2.0时的
值。
1
1.2
1.8
2.5
4
1.44
3.24
6.25
16
1.1拉格朗日插值多项式
1.1.1理论知识:
拉格朗日插值多项式是一种最常见的多项式插值法,也是一种最常用的逼近工具。
设ƒ(x)是定义在区间[α,b]上的函数,又设x1,x2,…,xn是[α,b]上的n个互不相同的点。
如果在点xK处的函数值yK=ƒ(xK)(k=1,2,…,n)是已知的,则存在惟一的次数不高于n-1的代数多项式ln(ƒ,x)使得
。
倘若记
,
则ln(ƒ,x)有表达式
常称ln(ƒ,x)为ƒ(x)的拉格朗日插值多项式,
为其结点组。
假设ƒ(x)在[α,b]上存在n阶导数,则ln(ƒ,x)逼近ƒ(x)的偏差有这样的表达式
式中ξ是[α,b]中某一与x有关的点。
1.1.2程序清单
functionyi=lagrange(x,y,xi)
n=length(x);
m=length(y);
ifn~=m
error('
ThelengthsofXandYmustbeequal'
);
return;
end
p=zeros(1,n);
fork=1:
n
t=ones(1,n);
forj=1:
ifj~=k
ifabs(x(k)-x(j))<
eps
theDATAiserror'
end
t(j)=(xi-x(j))/(x(k)-x(j));
end
end
p(k)=prod(t);
yi=sum(y.*p);
1.1.3程序运行及输出结果
在命令窗口调用函数M文件lagrange,输出结果如下:
>
x=[1,1.2,1.8,2.5,4];
y=[1,1.44,3.24,6.25,16];
xi=[2.0];
yi=lagrange(x,y,xi)
yi=
4
plot(x,y,'
o'
xi,yi,'
g^'
)
1.2牛顿插值多项式
1.2.1理论知识
牛顿插值多项式定义:
插值法利用函数f(x)在某区间中若干点的函数值,作出适当的特定函数,在这些点上取已知值,在区间的其他点上用这特定函数的值作为函数f(x)的近似值。
如果这特定函数是多项式,就称它为插值多项式。
利用插值基函数很容易得到拉格朗日插值多项式,公式结构紧凑,在理论分析中甚为方便,但当插值节点增减时全部插值基函数均要随之变化,整个公式也将发生变化,这在实际计算中是很不方便的,为了克服这一缺点,提出了牛顿插值。
Newton插值多项式的表达式如下:
其中每一项的系数ci的表达式如下:
根据
以上公式,计算的步骤如下:
1.2.2程序清单
functionf=Newton(x,y,x0)
symst;
x=[11.22.584];
y=[11.443.246.2516];
if(length(x)==length(y))
n=length(x);
c(1:
n)=0.0;
else
disp('
x和y的维数不相等!
'
f=y
(1);
y1=0;
l=1;
for(i=1:
n-1)
for(j=i+1:
n)
y1(j)=(y(j)-y(i))/(x(j)-x(i));
c(i)=y1(i+1);
l=l*(t-x(i));
f=f+c(i)*l;
simplify(f);
y=y1;
if(i==n-1)
if(nargin==3)
f=subs(f,'
t'
x0);
else
f=collect(f);
%将插值多项式展开
f=vpa(f,6);
1.2.3程序运行结
1.3计算结果分析
插值点的个数、精度、插值点的选择都会影响实验的结果;
我们通常会选择与插值点最接近的节点,可以提高精度;
在可以计算出结果的情况下,插值点越多,结果越精确。
2.根据实验数据求解拟合曲线
根据下面实验数据求解拟合曲线
2
3
6