《数值计算方法》试验报告册_第1页
《数值计算方法》试验报告册_第2页
《数值计算方法》试验报告册_第3页
《数值计算方法》试验报告册_第4页
《数值计算方法》试验报告册_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、安徽农业大学理学院应用数学系数值计算方法实验报告数值计算方法实 验 报 告 册姓名: 学号: 班级: 教师: 安徽农业大学理学院应用数学系 学年 第 学期安徽农业大学理学院应用数学系数值计算方法实验报告目 录目 录i实验报告范例1实验一5实验二7实验三12实验四15实验五17实验六1920实验报告范例实验名称误差传播与算法稳定性姓 名学 号班 级指导教师实验日期成 绩一、 实验目的1、 理解数值计算稳定性的概念;2、 了解数值计算方法的必要性;3、 体会数值计算的收敛性与收敛速度。二、 实验题目计算三、 实验原理由,知则可得递推关系1 , 2 , 下面分别以1,2递推关系求解:方案一 , 当时

2、,递推公式为(1)方案二 , 当时则即取递推初值递推公式为(2)四、 实验内容将递推公式(1)中的初值,得将递推公式(2)中的初值,得五、 实验结果计算结果如下表所示nn(1)I(2)0123456789100.0953100.0469000.0310000.0233330.0166670.033333-0.1666671.8095240.0953100.0468980.0310180.0231530.0184650.0153530.0131380.0114810.0101880.0092320.008678六、 实验分析由递推公式(1)知当时,应当为精确解,递推公式的每一步都没有误差的取舍,

3、但计算结果,出现负值.由此看出,当较大时,用递推公式(1)中的近似是不准确的.主要原因为初值不是精确值,设有误差,由递推公式(1)知则有误差随的增大而迅速增加,增加到得倍.由此可见,递推公式计算的误差不仅取决于初值的误差,公式的精确性,还有赖于误差的传递即计算的稳定性.由递推公式(2)知,为估计值,并不精确,有,而由得误差随递推公式逐步缩小.综上所述,在递推计算中,数值计算方法是非常重要的,误差估计、误差传播及递推计算的稳定性都会直接影响递推结果.七、 评阅意见签名: 评阅日期: 附表八、 程序代码说明:1、 具体实验题目与实验内容可自行根据实验指导书自行拟定;2、 报告填写用“宋体”(小四)

4、格式字体;3、 实验报告完成后,以学生的“实验序号+姓名+学号”作为该word文件名保存,例如“张三”学号为“08119000”,则本次实验报告的保存文件名为:“实验X 08119000 张三.doc”;4、 在规定的时间内,学生将本报告通过电子邮件提交给授课教师,邮件的主题为:实验X 08119000 张三。5、 算法编程语言可自选,程序代码可直接复制于实验报告附表八中,也可将可执行文件连同将实验报告压缩为rar格式文件一同提交。实验一实验名称非线性方程求根姓 名学 号班 级指导教师实验日期成 绩一、 实验目的1、 理解非线性方程求根的基本算法;2、 掌握相应数值算法的程序编写;3、 探讨迭

5、代法及初始值与迭代收敛性的关系。二、 实验题目1、 用迭代法求方程的根;2、 用Newton法求方程在附近的根;3、 求方程的全部实根,。三、 实验原理四、 实验内容五、 实验结果六、 实验分析七、 评阅意见签名: 评阅日期: 附表八、 程序代码问题2 (参考Matlab代码)function s=fun2(x) s=x3-x-1;function y=dfun2(x) y=3*x2-1;function k,xk,yk,wucha=newtonqx(x0,err,ddmax)x(1)=x0; for i=1: ddmax x(i+1)=x(i)-fun2(x(i)/dfun2(x(i); w

6、ucha=abs(x(i+1)-x(i); i=i+1; xk=x(i);yk=fun2(x(i); if wucha<err k=i-1; xk=x(i); return; endend if i>ddmax disp('请注意:迭代次数超过设定的最大值ddmax。') k=i-1; xk=x(i); end实验二实验名称线性方程组的数值解法姓 名学 号班 级指导教师实验日期成 绩一、 实验目的1、 掌握Gauss消去法及Gauss列主元消去法,能用这两种方法求解方程组;2、 掌握Jacobi和G-S迭代法,能应用Jacobi和G-S迭代法求解方程组;4、 掌握相

7、应数值算法的程序编写;5、 理解迭代法收敛的充要条件,会判断迭代法的收敛性。二、 实验题目1、 用列主元消去法求下列矩阵的行列式:2、 分别用列主元消去法与不选主元消去法求解,分析算法对结果的影响:a) b) 3、 给定矩阵与向量 , a) 求的分解;b) 利用的分解求解方程组:;c) 利用的分解求,值自己给定。4、 分别用追赶法和分解法分别对解方程组,其中: , 5、 选取不同的初值和,分别用Jacobi和G-S迭代法求解,其中:三、 实验原理四、 实验内容五、 实验结果六、 实验分析七、 评阅意见签名: 评阅日期: 附表八、 程序代码LU分解(参考Matlab代码):function r,

8、L,U=LUfj(A)n n =size(A); RA=rank(A); if RA=n disp('注意:因为A的n阶行列式等于零,所以A不能进行LU分解.A的秩RA如下:'), RA,zzs=det(A); returnendif RA=n for p=1:n h(p)=det(A(1:p, 1:p); end zzs=h; for i=1:n if h(1,i)=0 disp('注意:因为A的r阶主子式等于零,所以A不能进行LU分解.A的秩RA和各阶顺序主子式值zzs依次如下:'), zzs;RA return end end if h(1,i)=0 di

9、sp('注意:因为A的各阶主子式都不等于零,所以A能进行LU分解.A的秩RA和各阶顺序主子式值zzs依次如下:') L(1,1)=1;U(1,1)=A(1,1); %计算U的第一行、L的第一列与主元。 for j=2:n L(j,j)=1; U(1,j)=A(1,j); L(j,1)=A(j,1)/U(1,1); end for k=2:n %计算行列指标大于1时的L、U的元. for j=k:n U(k,j)=A(k,j)-L(k,1:k-1)*U(1:k-1,j); end for i=k+1:n L(i,k)=(A(i,k)- L(i,1:k-1)*U(1:k-1,k)/

10、U(k,k); end end endendr=L*U-A;列主元消去法(参考Matlab代码):function r,x=LZYxqf(A,b)B=A b; n=length(b); RA=rank(A);RB=rank(B);zhica=RB-RA;if zhica>0 disp('注意:因为RA=RB,所以此方程组无解.') returnendif RA=RB if RA=n disp('注意:因为RA=RB=n,所以此方程组有唯一解.') x=zeros(n,1);c=zeros(1,n+1); for p=1:n-1 Y,j=max(abs(B(

11、p:n,p); c=B(p,:); B(p,:)= B(j+p-1,:); B(j+p-1,:)=c; for k=p+1:n m= B(k,p)/ B(p,p); B(k,p:n+1)= B(k,p:n+1)-m* B(p,p:n+1); end end b=B(1:n,n+1);A=B(1:n,1:n); x(n)=b(n)/A(n,n); for q=n-1:-1:1 x(q)=(b(q)-A(q,q+1:n)*x(q+1:n)/A(q,q); end else disp('注意:因为RA=RB<n,所以此方程组有无穷多解.') return endendr=b-A

12、*x;G-S迭代法(参考Matlab代码):function X=GSddf(A,b,X0,P,wucha,ddmax)D=diag(diag(A);U=-triu(A,1);L=-tril(A,-1); dD=det(D);if dD=0 disp('注意:因为对角矩阵D奇异,所以此迭代法无解.')else disp('注意:因为对角矩阵D非奇异,所以此迭代法有解.') B2=inv(D-L)*U; f2=inv(D-L)*b; jX=Ab; X=X0; for k=1:ddmax X1= B2*X+f2; ddwcX=norm(X1-X,P); xdwcX=

13、ddwcX/(norm(X1,P); X=X1; if (ddwcX<wucha)|(xdwcX<wucha) return end end if (ddwcX<wucha)|(xdwcX<wucha) disp('注意:高斯-塞德尔迭代收敛,此A的分解矩阵D,U,L和方程组的解X如下: ') else disp('注意:高斯-塞德尔迭代的结果没有达到给定的精度,并且迭代次数已经超过最大迭代次数ddmax. ') endendD,U,L,X实验三实验名称特征值与特征向量的数值算法姓 名学 号班 级指导教师实验日期成 绩一、 实验目的1、

14、理解矩阵特征值与特征向量的幂法、反幂法Jacobi方法和QR算法;2、 掌握相应数值算法的程序编写;3、 掌握编程软件中的求特征值与特征向量函数,并与自编程序运算结果比对;4、 探讨幂法的迭代收敛性。二、 实验题目1、 分别用幂法、反幂法和Jacobi方法求矩阵、的主特征值、模最小特征值、全部特征值: , , 2、 用QR算法求矩阵的全部特征值;3、 用幂法求的按模最大的特征值、特征向量,并用反幂法求的按模最小的特征值、特征向量,精确到6位有效数字。三、 实验原理四、 实验内容五、 实验结果六、 实验分析七、 评阅意见签名: 评阅日期: 附表八、 程序代码Gram-Schmidt QR分解(参

15、考Matlab代码):function Q,R,ndr=gsQRfj(A)% gsQRfj Gram-Schmidt正交化算法计算n阶方阵A的QR分解% input A n阶待分解矩阵% output Q n阶正交矩阵,通过对矩阵A的列向量由第一列起向前逐步正交化% R n阶上三角矩阵% ndr QR分解的残余矩阵dr的2范数% ndQ Q'*Q与n阶单位矩阵差的2范数n=rank(A); % n为A的秩,确定循环次数for k=1:n % QR分解模块 R(k,k)=norm(A(:,k); % 计算A的第k列向量的模 Q(:,k)=A(:,k)/R(k,k); % A的第k列向量单

16、位化 for j=k+1:n % 此模块计算 R 的 k 行向量,并实现 A 的剩余的列向量与正交向量张成的子空间的正交 R(k,j)=Q(:,k)'*A(:,j); % 由 QR=A 及 Q'Q=I 有 R=Q'A 计算 R(k,j) A(:,j)=A(:,j)-Q(:,k)*R(k,j); % 实现A的剩余的第 j (>k) 个列向量与已正交化的向量空间正交化 endenddr=A-Q*R; % 计算数值解的残余矩阵ndr=norm(dr); % 计算残余矩阵的2范数特征值QR算法(参考Matlab代码):function L=eigqr(A,ddmax)L=

17、A;for k=1:ddmax Q,R=gsQRfj(L); L=R*Q;End实验四实验名称代数插值与数据拟合姓 名学 号班 级指导教师实验日期成 绩一、 实验目的1、 掌握Lagrange及其基函数的性质,以及三次样条插值函数的计算;2、 观察Lagrange插值的龙格现象;3、 用最小二乘法求拟合多项式。二、 实验题目1、 将区间-5,5 10等分,对函数计算点上的值,做出分别计算Lagrange插值多项式和三次样条插值函数,作出插值函数图形并与的图形进行比较;2、 将区间-5,5 取逐步增大的分点数目,对函数计算点上的值,计算相应的Lagrange插值多项式,作出插值函数图形并与的图形

18、进行比较,分析插值多项式随次数的增加而产生的变化。3、 用最小二乘法求拟合给定数据点的一、二、三次多项式三、 实验原理四、 实验内容五、 实验结果六、 实验分析七、 评阅意见签名: 评阅日期: 附表八、 程序代码实验五实验名称数值积分与数值微分姓 名学 号班 级指导教师实验日期成 绩一、 实验目的1、理解数值积分的意义;2、掌握复合梯形公式、复合Simpson公式、Romberg公式求解定积分的方法;3、掌握数值微分的计算方法;3、将数值积分结果与精确解进行比较,分析数值积分结果。二、 实验题目1、利用复合梯形公式、复合Simpson公式、Romberg公式求解下定积分: 2、利用等距节点的函数值,及端点的导数值,用不同方法求下列一、二阶导数,做出函数图形观察其特点:三、 实验原理四、 实验内容五、 实验结果六、 实验分析七、 评阅意见签名: 评阅日期: 附表八、 程序代码实验六实验名称常微分方程的数值解法姓 名学 号班 级指导教师实验日期成 绩一、 实验目的1、深刻认识常微

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论