数值分析课程作业论文Word文档下载推荐.docx

上传人:b****5 文档编号:15784539 上传时间:2022-11-16 格式:DOCX 页数:15 大小:146.26KB
下载 相关 举报
数值分析课程作业论文Word文档下载推荐.docx_第1页
第1页 / 共15页
数值分析课程作业论文Word文档下载推荐.docx_第2页
第2页 / 共15页
数值分析课程作业论文Word文档下载推荐.docx_第3页
第3页 / 共15页
数值分析课程作业论文Word文档下载推荐.docx_第4页
第4页 / 共15页
数值分析课程作业论文Word文档下载推荐.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

数值分析课程作业论文Word文档下载推荐.docx

《数值分析课程作业论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数值分析课程作业论文Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。

数值分析课程作业论文Word文档下载推荐.docx

研究运用拉格朗日和牛顿差

值、雅克比迭代法和高斯-塞德儿迭代法、用高斯消去法解方程组,

同时也讨论了多种方法的求解问题。

资料、数据、技术水平等方面的要求:

论文要符合一般学术论文的写作规范,具备学术性、科学性和一定的创造性。

文字要流畅、语言要准确、论点要清楚、论据要准确、论证要完整、严密,有独立的观点和见解。

内容要理论联系实际,计算数据要求准确,涉及到他人的观点、统计数据或计算公式等要标明出处,结论要写的概括简短。

参考文献的书写按论文中引用的先后顺序连续编码。

发出任务书日期2014.11.28完成论文(设计)日期2014.12.01

学科组或教研室意见(签字)

院、系(系)主任意见(签字)

目录

摘要……………………………………………………………………Ⅰ

前言……………………………………………………………………1

一拉格朗日插值和牛顿插值的运用及其解法……………………3

1.1理论知识、设计思路、算法步骤………………………………4

1.2程序运行操作过程与输出结果…………………………………4

二、高斯(Gauss)消去法…………………………………………7

2.1理论知识、设计思路、算法步骤………………………………8

2.2程序运行操作过程与输出结果…………………………………9

三、雅可比迭代法和高斯-塞德尔迭代法…………………………10

3.1理论知识、设计思路、算法步骤………………………………11

3.2程序运行操作过程与输出结果………………………………….11

四、在课程设计中的心得体会………………………………………17

五、课程设计自我评价………………………………………………17

参考文献………………………………………………………………18

数值分析课程设计论文

×

专业×

指导教师×

【摘要】本文主要介绍了数值分析中的拉格朗日插值、牛顿插值及其均差的运用和计算,还有雅克比迭代法和高斯-塞德儿迭代法用法及解题的方法。

同时运用MATLAB软件进行数学计算结果,把单纯的数学问题实际化和具体化,加强对于MATLAB的应用,增加对于该软件的理解和熟练。

还介绍了数值分析的理论及实用知识,通过例题详细地讲述了如何利用MATLAB软件实现各种数值算法,以便读者实际动手实现算法及观察不同数值算法的实际计算效果。

【关键词】高斯-塞德儿迭代法雅克比迭代法拉格朗日插值牛顿插值

前言

本论文是主要是部分课题的解答及分析,根据题目要求对论文进行了解答分析同时介绍了少部分知识和MATLAB的操作用法。

主要如下:

(1)在内容上严格按照要求,一步步仔细分析解答,同时配有图片证明,认真分析理解拉格朗日插值、牛顿插值的方法运用。

还有收敛性的分析,同时以例题进行验证和解答,让大家可以清晰简单的理解。

(2)在格式上每个例题都是认真分析,每个题后都有课后的见解和对题目的理解,有助于读者加深对基本内容的理解。

本论文因是本人的初级论文,所以有些疏漏,希望使用本论文的老师和同学对本书存在的问题给予批评指正。

作者

2014年12月

一、拉格朗日插值和牛顿插值的运用及其解法

根据下表所列的数据点求出四次拉格朗日插值多项式及牛顿插值多项式,并计算当x=2.0时的

值。

0.2

0.4

0.6

0.8

1.0

0.98

0.92

0.81

0.64

0.38

(一)理论知识

插值法是一种古老的数学方法,来自与生产实践。

但是具体的插值理论都是在十七世纪微积分产生以后才逐步发展的,拉格朗日插值、牛顿插值都是当时重要的成果在这里先详细介绍拉格朗日插值随后介绍牛顿插值。

拉格朗日插值[1]一般地,若已知y=f(x)在互不相同n+1个点x0,x1,x2...,xn处的函数值y0,y1,y2...,yn(即该函数过(x0,y0)(x1,y1)(x2,y2)...(xn,yn)这n个点),则可以考虑构造一个过这n+1个点的、次数不超过n的多项式y=Pn(x),使其满足:

Pn(xk)=yk,k=0,1,2,...,n(*)

要估计任一点ξ,ξ≠xi,i=0,1,2,...,n,则可以用Pn(ξ)的值作为准确值f(ξ)的近似值,此方法叫做“插值法”。

称式(*)为插值条件(准则),含xi(i=0,1,...,n)的最小区间[a,b](a=min{x0,x1,...,xn},b=max{x0,x1,...,xn})

(二)程序清单

拉格朗日插值

functionf=Lagrange(x,y,x0)

%求已知数据点的拉格朗日插值多项式

%已知数据点的x坐标向量:

x

%已知数据点的y坐标向量:

y

%插值的x坐标:

x0

%求得的拉格朗日插值多项式在x0处的插值:

f

symst;

%定义符号变量

x=[0.20.40.60.81];

y=[0.980.920.810.640.38];

if(length(x)==length(y))

n=length(x);

else

disp('

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:

%计算拉格朗日基函数

f=f+l;

%计算拉格朗日插值函数

simplify(f);

%化简

if(i==n)

if(nargin==3)%nargin是用来判断输入变量个数的函数

f=subs(f,'

t'

x0);

%计算插值点的函数值,把xo赋给t带入f中计算,结果赋给f

else

f=collect(f);

%将插值多项式展开

f=vpa(f,6);

%将插值多项式的系数化成6位精度的小数

end

end、

牛顿插值[2]

functionf=Newton(x,y,x0)

if(length(x)==length(y))

n=length(x);

c(1:

n)=0.0;

end

f=y

(1);

y1=0;

l=1;

n-1)

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;

y=y1;

if(i==n-1)

if(nargin==3)

f=subs(f,'

else

f=collect(f);

f=vpa(f,6);

end

(三)程序运行操作过程与输出结果

在命令窗口输入

x0=2.0;

Lagrange(x,y,x0)

回车

ans=

-4.7200

Newton(x,y,x0)

以下是截图和在MATLAB中的解法答案

(四)对计算过程与结果的分析

运算拉格朗日插值时,有部分函数和用法需要熟练掌握和运用,同时详细分析题目,合理的分析,将自己的写成的程序输入到MATLAB中进行运行。

在MATLAB中,当没有你需要的函数或者程序时,需要构造M文件,重新确定自己需要的函数和程序,在进行下面的计算。

若MATLAB中没有你需要的函数和自己构造的M文件,那么将无法进行题目的解答。

同时拉格朗日插值和牛顿插值的原理需要牢记并且能熟练运用。

拉格朗日插值法在求每个基本多项式的时候要用到所有那些结点,因此如果需要再多加进去一个结点的话,需要重新求出基本多项式才可,而这需要大量的工程,而拉格朗日法插值是通过求各阶差商,递推得到的一个

二、高斯(Gauss)消去法

.用列主元Gauss消去法解方程组

定理:

当一个方阵A的1-(n-1)阶顺序主子式都不为0时,A存在唯一的doolittle(杜利特尔)分解。

对于满足条件的这个方阵,采用直接三角分解法可以得到这个唯一的L、U矩阵。

但事实上,matlab的lu函数并不是采用直接三角分解法,因为直接三角分解法存在着引入很大舍入误差的可能(直接分解法过程中,当对角元为零或很小时)。

matlab的lu函数采用的是列主元三角分解法,又称为PLU分解,实现LU=PA。

该分解法要求的前提条件是A为非奇异矩阵。

(二)程序清单

列主元Gauss消去法MATLAB程序如下:

%magauss2.m

functionx=magauss2(A,b,flag)

%用途:

列主元Gauss消去法解线性方程组Ax=b

%格式:

x=magauss(A,b,flag),A为系数矩阵,b为右端项,若flag=0,则不显示中间过程,否则显示中间过程,默认为0,x为解向量

ifnargin<

3,flag=0;

n=length(b);

fork=1:

(n-1)%选主元

[ap,p]=max(abs(A(k:

n,k)));

p=p+k-1;

ifp>

k

t=A(k,:

A(k,:

)=A(p,:

A(p,:

)=t;

t=b(k);

b(k)=b(p);

b(p)=t;

%消元

m=A(k+1:

n,k)/A(k,k);

A(k+1:

n,k+1:

n)=A(k+1:

n)-m*A(k,k+1:

n);

b(k+1:

n)=b(k+1:

n)-m*b(k);

A(k+1:

n,k)=zeros(n-k,1);

ifflag~=0,Ab=[A,b],end

%回代

x=zeros(n,1);

x(n)=b(n)/A(n,n);

fork=n-1:

-1:

1

x(k)=(b(k)-A(k,k+1:

n)*x(k+1:

n))/A(k,k);

(三)操作过程及运行结果

在MATLAB命令窗口执行

b=[31-7];

A=[223;

477;

-245];

[n,n]=size(A);

x=zeros(n,1);

Aug=[A,b'

];

%增广矩阵

fork=1:

n-1

[piv,r]=max(abs(Aug(k:

%找列主元所在子矩阵

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 演讲主持

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1