用直接法雅可比迭代法、赛德尔迭代法解方程(共10页).doc

上传人:飞****2 文档编号:13756940 上传时间:2022-05-01 格式:DOC 页数:10 大小:213KB
返回 下载 相关 举报
用直接法雅可比迭代法、赛德尔迭代法解方程(共10页).doc_第1页
第1页 / 共10页
用直接法雅可比迭代法、赛德尔迭代法解方程(共10页).doc_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《用直接法雅可比迭代法、赛德尔迭代法解方程(共10页).doc》由会员分享,可在线阅读,更多相关《用直接法雅可比迭代法、赛德尔迭代法解方程(共10页).doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上 用直接法、雅可比迭代法和高斯赛德尔迭代法解方程一、 课程设计的目的1、 巩固和加深学生对数值分析课程的基本知识的理解和掌握;2、 更好的了解各种算法的计算方法,熟悉并加以掌握;3、 掌握Matlab的编程和程序调试的基本能力;4、 掌握课题的设计方法;5、 提高运用计算机解决实际问题以及说明文档的能力。二、 课程设计的基本要求1、根据所确定的课程设计题目,分析该题目的需求;2、编写程序代码,要能够解决所提到的问题;3、对程序进行分析,写出详细的设计说明文档;4、可组队完成。三、 课程设计的内容3.1 矩阵的输入 此次课程设计的题目为用直接法、雅可比迭代法和高斯赛德尔

2、迭代法三种方法解线性方程组AX=b。 , 首先,我们需要进行矩阵的输入,通过观察矩阵,很容易能够发现,A矩阵的对角线上的元素都是5。除了第一、二行和倒数一、二行以外,其他行的元素都有 1,-2,5,-2,1的排列,位置与对角线的相对位置一致。因此我们采用for循环进行矩阵的输入以节约时间,并且添加if进行逻辑判断。矩阵输入代码如下(完全代码见附录):a=1;b=-2;c=5; %在行列式A中仅出现了1、-2、5这三个元素A=; %先将A矩阵置空,方便进行数据的填充for i=1:20 %矩阵为20行,所以我们只需要考虑1到20的情况 for j=1:20 %矩阵为20列 if i=j %当行数

3、等列数时,矩阵中元素值为5 A(i,j)=5; elseif i=j+1 | i=j-1 %当行数i=列数加1或者减1时,元素值为-2 A(i,j)=-2; elseif i=j+2 | i=j-2 %当行数i=列数加2或者减2时,元素值为1 A(i,j)=1; end endendA %输出矩阵A矩阵b的输入相对简单,如下:b=zeros(20,1); %矩阵b为20行1列的全零矩阵b(1,1)=1; %将矩阵b第一行第一列的元素赋值为13.2 直接法的思想以及编程采用直接法是解线性方程组结果最精准的一种方法,人工进行运算需要更多的时间,计算过程不复杂,直接就能得出答案,但是当数据太多的时候

4、,人工计算就太浪费精力了,而且没法保证其正确率,用计算机进行操作就会很简单,仅仅需要一句编程就可以输出结果,如下:x=Ab; %将未知数x与矩阵A和矩阵b的关系说明清楚3.3 雅可比迭代法的思想以及编程雅可比迭代法将系数矩阵A分成三部分如下:设,选取为的对角元素部分,为负的下三角部分,为负的上三角部分,从而得到的雅可比迭代法: 其中,称为解的雅可比迭代法的迭代矩阵。矩阵的代码如下(完整代码见附录代码):D=diag(diag(A); %D为矩阵A的主对角线上的元素L=-tril(A,-1); %L为矩阵A的负的下三角矩阵U=-triu(A,1); %U为矩阵A的负的上三角矩阵B=D(L+U);

5、 %B矩阵的值f=Db; %f矩阵的值x=B*x0+f; %x的迭代表达式迭代公式为:使用雅可比迭代法计算公式简单,没迭代一次只需要计算一次矩阵和向量的乘法且计算过程中原始矩阵始终不变3.4 高斯赛德尔迭代法的思想以及编程高斯赛德尔迭代法中矩阵和与雅可比中矩阵和的定义有些许不同,如下,迭代公式为:其中和以及与雅可比迭代法中的一致,由迭代公式可看出高斯赛德尔迭代法与雅可比迭代法相比,最大的特点是高斯赛德尔迭代法使用最新的信息进行计算,计算的第个分量时,利用了已经计算出的最新分量,同样高斯赛德尔迭代法也只需计算一次矩阵与向量的乘法。其编程与雅可比类似(具体详见附录代码)。3.5 最终结果以及三种方

6、法在此题应用上的比较通过计算机的计算,我们得到如下结果,现截屏如下图: 三种计算方法的结果以及迭代次数 (图1) 三种计算方法的结果以及迭代次数 (图2) 为使得结果更容易进行比较,我们使用fprintf以及各种格式控制的matlab命令使得结果的表达界面更加简洁以及清晰。通过比较我们发现直接法和高斯赛德尔迭代法求出来的解几乎一致,而雅可比迭代法的解精确度却不高,因此在这个题中高斯赛德尔迭代法是收敛的,而雅可比迭代法是发散的。并且高斯赛德尔迭代法的迭代次数远远小于雅可比迭代法,所以就这个题而言,高斯赛德尔迭代法优于雅可比迭代法。四、 课程设计的心得和体会 课程设计是培养学生综合运用所学知识,发

7、现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程,随着科学技术发展的日新月异,程序软件已经已经成为当今计算机应用中空前活跃的领域,在生活领域中的应用可以说得是无处不在。因此作为二十一世纪的大学来说掌握简单的软件的开发技术是十分重要的。 回顾起此次数值分析的课程设计,至今我尤感颇多,的确,从选题到定稿,从理论到实践,我们学到了很多东西,不仅巩固了以前所学习的知识,而且学到了很多书本上没有的知识。通过这次课程设计使我们懂得了理论与实践结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践结合起来,从理论中得出结论,才能真正为社会服务,从而

8、提高自己的实际动手能力和独立思考的能力。课程设计中也会有困难,大家一起思考动脑解决。团队合作最大 的好处是集思广益,有人随时在旁边更正你的错误,因此我们能学到别人了解而自己不是很擅长的知识,也使每个人都对知识有了更加深刻的理解。附录:代码Jacobi函数文件Jacobi.mfunction x,n=jacobi(A,b,x0,eps,varargin)%A为方程的系数矩阵,b为方程组的右端项%x为方程组的解%n为迭代次数if nargin=3 eps=1.0e-6; %eps为精度要求 默认值le-5 M=200;elseif nargin=eps x0=x; x=B*x0+f; n=n+1;

9、 if(n=M) disp(Warning:迭代次数太多,可能不收敛!); return; endend代码Gauseidel函数文件Gauseidel.mfunction x,n=gauseidel(A,b,x0,eps,varargin)%A为方程的系数矩阵,b为方程组的右端项%eps为精度要求 默认值le-5%varargin为最大迭代次数,值100%x为方程组的解%n为迭代次数if nargin=3 eps=1.0e-6; M=200;elseif nargin=4 M=200;elseif nargin=eps x0=x; x=G*x0+f; n=n+1; if(n=M) disp(

10、Warning:迭代次数太多,可能不收敛!); return; endend代码直接法和主文件clear;clc;format short ga=1;b=-2;c=5;A=;for i=1:20 for j=1:20 if i=j A(i,j)=5; elseif i=j+1 | i=j-1 A(i,j)=-2; elseif i=j+2 | i=j-2 A(i,j)=1; end endendb=zeros(20,1);b(1,1)=1;x=Ab;x1=x; %直接法求解x0=ones(20,1);x,n=jacobi(A,b,x0); %雅可比迭代法函数的调用x2=x,n2=n;x0=ze

11、ros(20,1);x,n=gauseidel(A,b,x0); %高斯赛德尔迭代法函数的调用x3=x,n3=n;%以下均为输出,为了方便查看,使用fprintf以及各种格式控制,使得输出更美观%fprintf(%11s%25s%25sn,直接法,雅可比迭代法,赛德尔迭代法);for i=1:20fprintf(nx%1d: %9.4f %9.4f %9.4fn,i,x1(i,:),x2(i,:),x3(i,:);%中间空格不能省略endfprintf(n n1=%.0f n2=%.0f n3=%.0fn, n1,n2,n3); %中间空格不能省略三种方法的结果以及迭代次数: 直接法 雅可比迭

12、代法 赛德尔迭代法x1: 0.2421 -.1336 0.2421x2: 0.0944 .2875 0.0944x3: -0.0218 -.5677 -0.0218x4: -0.0314 .8203 -0.0314x5: -0.0069 -.9014 -0.0069x6: 0.0049 5.8441 0.0049x7: 0.0036 -1.7860 0.0036x8: 0.0002 7.7530 0.0002x9: -0.0008 -6.9617 -0.0008x10: -0.0004 9.9111 -0.0004x11: 0.0001 -5.3035 0.0001x12: 0.0001 9.2200 0.0001x13: 0.0000 -3.0610 0.0000x14: -0.0000 7.7102 -0.0000x15: -0.0000 -5.3420 -0.0000x16: -0.0000 .4654 -0.0000x17: 0.0000 -.5889 0.0000x18: 0.0000 .8422 0.0000x19: -0.0000 -.9843 -0.0000x20: -0.0000 .1486 -0.0000 n1=0 n2=200 n3=13专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁