东南大学数值分析上机报告完整版_第1页
东南大学数值分析上机报告完整版_第2页
东南大学数值分析上机报告完整版_第3页
东南大学数值分析上机报告完整版_第4页
东南大学数值分析上机报告完整版_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、数值分析式上机实实验报告目录TOC o 1-5 h z HYPERLINK l bookmark2 chapter1舍入误差及有效数1 HYPERLINK l bookmark8 chapter2Newton迭代法3 HYPERLINK l bookmark10 chapter3线性代数方程组数值解法-列主元Gauss消去法7chapter3线性代数方程组数值解法-逐次超松弛迭代法8 HYPERLINK l bookmark16 chapter4多项式插值与函数最佳逼近101.chapter1舍入误差及有效数1.1题目word格式-可编辑-感谢下载支持设Sr勻=2j2i其精确值为2(3-右-N

2、)。编制按从大到小的顺序SN二占+匕+N计算SN的通用程序。编制按从小到大的顺序SN=+,计算SN的通用程序。NN21(N1)212-1N按两种顺序分别计算S102,S104,S106,并指出有效位数。(编制程序时用单精度)(4)通过本次上机题,你明白了什么?1.2编写相应的matlab程序clear;N=input(pleaseinputN:);AValue=(3/2-1/N-1/(N+1)/2);sn1=single(0);sn2=single(0);fori=2:Nsn1=sn1+1/(i*i-1);%从大到小相加的通用程序%endep1=abs(sn1-AValue);forj=N:-

3、1:2sn2=sn2+1/(j*j-1);%从小到大相加的通用程序%endep2=abs(sn2-AValue);fprintf(精确值为:%fn,AValue);fprintf(从大到小的顺序累加得sn=%fn,sn1);fprintf(从大到小相加的误差ep1=%fn,ep1);fprintf(从小到大的顺序累加得sn=%fn,sn2);fprintf(从小到大相加的误差ep2=%fn,ep2);disp(=);1.3matlab运行程序结果chaper1pleaseinputN:100精确值为:0.740050从大到小的顺序累加得sn=0.740049从大到小相加的误差ep1=0.000

4、001从小到大的顺序累加得sn=0.740050从小到大相加的误差ep2=0.000000chaper1pleaseinputN:10000精确值为:0.749900从大到小的顺序累加得sn=0.749852从大到小相加的误差ep1=0.000048从小到大的顺序累加得sn=0.749900从小到大相加的误差ep2=0.000000word格式-可编辑-感谢下载支持chaper1pleaseinputN:1000000精确值为:0.749999从大到小的顺序累加得sn=0.749852从大到小相加的误差ep1=0.000147从小到大的顺序累加得sn=0.749999从小到大相加的误差ep2=

5、0.0000001.4结果分析以及感悟按照从大到小顺序相加的有效位数为:5,4,3。按照从小到大顺序相加的和的有效位数为:6,6,6。从程序的输出误差结果可以看出,按照不同的顺序相加造成的误差限是不同的,按照从大到小相加的顺序就是一个病态问题,而按照从小到大顺序相加的误差很小,并且在从大到小顺序相加的误差随着n的增大而增大。因此,采取从小到大的顺序累加得到的结果更加精确。2.chapter2Newton迭代法2.1题目给定初值x0及容许误差,编制牛顿法解方程f(x)=0的通用程序。给定方程f(x)=X33x=0,易知其有三个根X】*=兀/3/?*=Ox?*弋3由牛顿方法的局部收敛性可知存在0,

6、当x(6,+5)时,Newton迭代序列收敛于根x2*。试0确定尽可能大的&试取若干初始值,观察当xo(a,1),(1,-6),(5,+6),(6,1),(1,+a)时Newton序列的收敛性以及收敛于哪一个根。(3)通过本上机题,你明白了什么?2.2编写相应的matlab程序定义f(x)函数functionF=fu(x)F=xA3/3-x;end定义f(x)的导函数functionF=dfu(x)F=x*x-1;end求根的通用程序clear;x0=input(请输入初始值x0:);ep=input(请输入容许误差:);flag=1;whileflag=1x1=x0-fu(x0)/dfu(x

7、0);ifabs(x1-x0)=epflag=0;endx0=x1;endfprintf(方程的一个近似解为:%fn,xO);求sigma的通用程序clear;eps=input(请输入搜索精度:);ep=input(请输入容许误差:);flag=1;k=O;xO=O;whileflag=1;sigma=k*eps;xO=sigma;k=k+1;m=O;flag1=1;whileflag1=1&m=10A3x1=xO-fu(xO)/dfu(xO);ifabs(x1-x0)=epflag=0;endendfprintf(最大的sigma值为:%fn,sigma);2.3运行结果寻找最大的sigm

8、a值主要是在0的基础上,不断的增加步长,带入Newton公式,验证该值是否收敛于0,不断的循环,最后得到最小的不收敛于0的sigma值,此时也为最大满足收敛于0的最大的sigma值。改变不同的步长,分别得到不同的sigma值,取其中的最小值,即为满足条件的最大的sigma值。程序相应的运行结果如下:chapter2_2请输入搜索精度:10心6请输入容许误差:10心6最大的sigma值为:0.774597chapter2_2请输入搜索精度:10心4请输入容许误差:10心6最大的sigma值为:0.774600chapter2_2请输入搜索精度:10心2请输入容许误差:10心6最大的sigma值为

9、:0.780000运行chapter2_1程序当初值x0属于(a,1)内时,程序运行结果如下,chaper2_1请输入初始值xO:-1OOOO请输入容许误差:1OA-6方程的一个近似解为:-1.732O51chaper2_1请输入初始值xO:-1OO请输入容许误差:1OA-6方程的一个近似解为:-1.732O51chaper2_1请输入初始值xO:-1O请输入容许误差:1OA-6方程的一个近似解为:-1.732O51chaper2_1请输入初始值xO:-1.1请输入容许误差:1OA-6方程的一个近似解为:-1.732O51可以得出不论取何值,Newton迭代式收敛,方程的近似解都收敛于-73。

10、当初值xO属于(1,6)内时,程序运行结果如下,chaper2_1请输入初始值xO:-O.9请输入容许误差:1OA-6方程的一个近似解为:1.732O51chaper2_1请输入初始值xO:-O.85请输入容许误差:1OA-6方程的一个近似解为:1.732O51chaper2_1请输入初始值xO:-O.774598请输入容许误差:1OA-6方程的一个近似解为:1.732O51可以得出不论取何值,在此区间上Newton迭代式不收敛。当初值xO属于(6,6)内时,程序运行结果如下,chaper2_1请输入初始值xO:-O.76请输入容许误差:1OA-6方程的一个近似解为:O.OOOOOOchape

11、r2_1请输入初始值xO:-O.5请输入容许误差:1OA-6方程的一个近似解为:O.OOOOOOchaper2_1请输入初始值xO:-O.1请输入容许误差:1OA-6方程的一个近似解为:O.OOOOOOchaper2_1请输入初始值xO:-O.O1请输入容许误差:10心6方程的一个近似解为:-0.000000chaper2_1请输入初始值x0:0.01请输入容许误差:10A-6方程的一个近似解为:0.000000chaper2_1请输入初始值x0:0.1请输入容许误差:10A-6方程的一个近似解为:0.000000chaper2_1请输入初始值x0:0.5请输入容许误差:10A-6方程的一个近

12、似解为:0.000000chaper2_1请输入初始值x0:0.76请输入容许误差:10A-6方程的一个近似解为:0.000000可以得出在此区间内,不论取何值,Newton迭代式收敛,方程的近似解都收敛于0。当初值x0属于(&1)内时,运行程序结果如下,chaper2_1请输入初始值x0:0.774598请输入容许误差:10A-6方程的一个近似解为:-1.732051chaper2_1请输入初始值x0:0.8请输入容许误差:10A-6方程的一个近似解为:-1.732051chaper2_1请输入初始值x0:0.9请输入容许误差:10A-6方程的一个近似解为:-1.732051chaper2_

13、1请输入初始值x0:0.95请输入容许误差:10A-6方程的一个近似解为:-1.732051可以得出不论取何值,在此区间上Newton迭代式不收敛。当初值x0属于区间(1,+8)内时,运行程序结果如下,chaper2_1请输入初始值x0:1.1请输入容许误差:10A-6方程的一个近似解为:1.732051chaper2_1请输入初始值x0:10请输入容许误差:10A-6方程的一个近似解为:1.732051chaper2_1请输入初始值xO:1OO请输入容许误差:10心6方程的一个近似解为:1.732051chaper2_1请输入初始值xO:1OOOO请输入容许误差:1OA-6方程的一个近似解为

14、:1.732O51可以得出,不管xO取何值,Newton迭代式都收敛,且收敛于根73。3.chapter3线性代数方程组数值解法-列主元Gauss消去法3.1题目对于某电路的分析,归结为求解线性方程组RI=V,其中(311300010000、13359011000009311000000001079300009R=000305770500000747300000000304100000050027210009000229丿Vt=(15,27,23,0,20,12,7,7,10)T编制解n阶线性方程组Ax=b的列主元高斯消去法的通用程序;用所编程序解线性方程组RI=V,并打印出解向量,保留5位有

15、效数字;(3)本题编程之中,你提高了哪些编程能力?3.2程序编写:%通用Gauss列主元消去法n=input(输入线性方程组阶数:n=);b=zeros(1,n);A=input(输入系数矩阵:A=n);b(1,:)=input(输入线性方程组右端向量:b=n);b=b;C=A,b;fori=1:n-1maximum,index=max(abs(C(i:n,i);%求取C矩阵列主元以及其所在列中位置index=index+i-1;T=C(index,:);C(index,:)=C(i,:);C(i,:)=T;fork=i+1:nifC(k,i)=0C(k,:)=C(k,:)-C(k,i)/C(

16、i,i)*C(i,:);endendend%回代求解x=zeros(n,1);x(n)=C(n,n+1)/C(n,n);fori=n-1:-1:1x(i)=(C(i,n+1)-C(i,i+1:n)*x(i+1:n,1)/C(i,i);enddisp(该方程组的解为:);fprintf(%.5gn,x);3.3运行结果输入线性方程组阶数:n=9输入系数矩阵:A=31-13000-10000;-1335-90-110000;0-931-1000000;00-1079-30000-9;000-3057-70-50;0000-747-3000;00000-304100;0000-50027-2;000

17、-9000-229输入线性方程组右端向量:b=-1527-230-2012-7710该方程组的解为:-0.289230.34544-0.71281-0.22061-0.43040.15431-0.0578230.201050.290233.4结果分析从程序运行结果可得,该线性方程组的解向量为:-0.289230.34544-0.71281-0.22061-0.43040.15431-0.0578230.201050.29023。通过该道题程序的编写,我加深了对Gauss列主元消去法的理解,也增强了MATLAB对矩阵、数组处理的能力。4.chapter3线性代数方程组数值解法-逐次超松弛迭代法4

18、.1题目编制解n阶线性方程组Ax=b的SOR方法的通用程序(要求卜伙)-x(k-i)|eps1)forj=1:9sum=0;fort=1:j-1sum=sum+R(j,t)*x1(t,i);endfort=j+1:9sum=sum+R(j,t)*x1(t,i);endx1(j,i)=(1-w)*x0(j,i)+w*(V(j)-sum)/R(j,j);endk(i)=k(i)+1;forj=1:9deta(j)=abs(x1(j,i)-x0(j,i);enddetaeps(i)=max(deta);x0=x1;endendp=min(k);fori=1:9x(i)=x0(i,p);enddisp

19、(p);disp(x);4.3运行结果最少迭代次数p=10;最佳迭代因子w=0.2;解析向量x=-0.28920.3455-0.7128-0.2206-0.43040.1544-0.0570.20110.2902。4.4结果分析通过此次的编程,对比不同的迭代因子,迭代因此不同,收敛速度也不相同,再次加强对于SOR的理解,提高MATLAB的编程能力。word格式-可编辑-感谢下载支持5.chapter4多项式插值与函数最佳逼近5.1题目(1)编制求第一型3次样条插值函数的通用程序;(2)已知汽车曲线型值点的数据如下:xi012345678910y.i2.513.304.044.705.225.5

20、45.785.405.575.705.80端点条件为y=0.8,yI。=0.2。用所编制程序求车门的3次样条插值函数S(x),并打印出S(i+0.5)(i=0,1,.9)。5.2程序编写clc;clear;x=0;1;2;3;4;5;6;7;8;9;10;y=2.51;3.3;4.04;4.7;5.22;5.54;5.78;5.4;5.57;5.7;5.8;dy=0.8;0.2;h=zeros(8,1);u=zeros(9,1);nameda=zeros(9,1);d=zeros(11,1);mm=zeros(11,1);m=zeros(11,11);k=0;fori=1:10h(i)=x(i+1)-x(i);endfori=1:9u(i)=h(i)/(h(i)+h(i+1);nameda(i)=1-u(i);endd(1)=6*(y(2)-y(1)/h(1)-dy(1)/h(1);d(11)=6*(-(y(11)-y(10)/h(10)+dy(2)/h(10);fori=2:10d(i)=6*(y(i+1)-y(i)/h(i)-(y(i)-y(i-1)/h(i-1)/(x(i+1)-x(i-1);endfori=2:10m(i,i-1)=u(i-1);m(i,i)=2;m(i,i+1

温馨提示

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

评论

0/150

提交评论