资源描述:
《数值分析实验全》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、II重庆交通大学学生实验报告实验课程名称开课实验室数学实验室学院学生姓名开课时间理学院年级09专业班信息1班杨川陵学号091801222011至2012学年第2学期评分细则评分报告表述的清晰程度和完整性(20分)程序设计的止确性(40分)实验结果的分析(30分)实验方法的创新性(10分)总成绩教师签名邹昌夂实验一解线性方程组的直接方法・1・1.1主元的选取与算法的稳定性-1-1.1.1问题提出・/・LL2实验内容.1.1.3实验要求・1・LL4实验过程.LL5实验总结.1.2线性代数方程组的性态与条件数的估计-5・121
2、问题提出-5-7.2.2实验内容.・6-1.2.3实验要求・6-124实验过程.・6-215实验总结.・11・实验二解线性方程组的迭代法-12-2.病态的线性方程组的求解-12-2.1问题提出2.2实验内容.-72-2.3实验要求・12・2.4实验过程.-12・2.5实验总结、・20・实验三非线性方程求根-21-3.迭代法、初始值与收敛性-21-3.1问题提出・21-3.2实验内容.-27-3.3实验要求・21-3.4实验过程.・22・3.5实验总结.・29-学号:09180122姓名:杨川陵班级:09信息1班实验一解线
3、性方程组的直接方法1.1主元的选取与算法的稳定性1.1.1问题提出Gauss消去法是我们在线性代数中已经熟悉的。但由于计算机的数值运算是在一个有限的浮点数集合上进行的,如何才能确保Gauss消去法作为数值算法的稳定性呢?Gauss消去法从理论算法到数值算法,其关键是主元的选择。主元的选择从数学理论上看起来平凡,它却是数值分析中十分典型的问题。1.1.2实验内容考虑线性方程组Ax=b,AeRnx,heRn编制一个能自动选取主元,又能手动选取主元的求解线性方程组的Gauss消去过程。1.1.3实验要求「61861_715(
4、1)取矩阵A二■■•••••••■■■861158614则方程有解%*=(1,1,•••,!/。取h=10计算矩阵的条件数。让程序自动选取主元,结果如何?(2)现选择程序中手动选取主元的功能。每步消去过程总选取按模最小或按模尽可能小的元素作为主元,观察并记录计算结果。若每步消去过程总选取按模最大的元素作为主元,结果又如何?分析实验的结果。(2)取矩阵阶数h=20或者更大,重复上述实验过程,观察记录并分析不同的问题及消去过程中选择不同的主元时计算结果的差异,说明主元素的选取在消去过程中的作用。(3)将上述矩阵A中的主元改为
5、0.00006再重新作一次数值实验看看。(4)选取其他你感兴趣的问题或者随机生成矩阵,计算其条件数。重复上述实验,观察记录并分析实验结果。1.1.4实验过程(1)程序:%能控制消元次序的Gauss消去程序clear;clc;a=inputC是否调整消元次序(是:1,否:0)');n=inputC系数矩阵的阶数:’);%构造题中给定形式的矩阵A(l,1)=6;A(l,2)=l;A(l,n+1)=7;%笫n+1列取题中的bfori=l:(n~2);A(i+1,i)=8;A(i+1,i+1)二6;A(i+1,i+2)二1;A(
6、i+l,n+l)=15;end;A(n,n-l)=8;A(n,n)二6;A(n,n+1)二14;%自动消元ifa==0;fori=l:(n-1);forj=(i+l):n;x=A(j,i)/A(i,i);fork=l:(n+1);A(j,k)=A(j,k)-x*A(i,k);end;end;end;y(n)=A(n,n+l)/A(n,n);fori=2:n;y(n-i+l)=A(n-i+l,n+1);forj二1:(i-1);y(n~i+l)=y(n~i+l)-A(n~i+l,n-j+l)*y(n-j+l);end;y(
7、n-i+l)=y(n-i+l)/A(n-i+1,n-i+1);end;yend;%手动控制消元次序ifa==l;fori=l:(n-l);A%显示每步消元的结果m=input('请选取作为主消元行的行号’);for1=1:(n+1);c=A(i,1);A(i,l)=A(m,1);A(m,l)=c;end;forj二(i+1):n;x二A(j,i)/A(i,i);fork=l:(n+1);A(j,k)=A(j,k)-x*A(i,k);end;end;end;y(n)=A(n,n+l)/A(n,n);fori=2:n;y(n
8、-i+1)=A(n-i+1,n+1);forj二1:(i-1);y(n-i+1)=y(n-i+1)-A(n-i+1,n-j+l)*y(n-j+1);end;y(n-i+1)=y(n~i+l)/A(n-i+1,n-i+1);end;yend;(2)数值实验结果及分析:K根据要求当n=W时用Matlab算得Cond(A)