ImageVerifierCode 换一换
格式:DOC , 页数:29 ,大小:497KB ,
资源ID:2645800      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2645800.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(数值分析实验报告.doc)为本站上传会员【可****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

数值分析实验报告.doc

1、 数值分析实验报告 数值分析实验报告 学 院: 学生姓名: 学号: 2016年11月 目录 实验一 插值法 1 一 实验内容 1 二 实验步骤 1 三 所编程序清单 2 四 例题验证 3 实验二 数据拟合 5 一 实验内容 5 二 实验步骤 5 三 难点分析 6 四 所编算法清单 6 五 例题验证 6 实验三 数值积分 8 一 实验内容 8 二 实验步骤 8 三 难点分析 8 四

2、所编算法清单 9 五 例题验证 10 实验四 线性方程组的直接求法之高斯消去法 12 一 实验内容 12 二 实验步骤 12 三 难点分析 13 四 所编算法清单 13 五 例题验证 13 实验五 线性方程组的迭代解法之雅可比迭代法 15 一 实验内容 15 二 实验步骤 15 三 难点分析 16 四 所编算法序清单 16 四 例题验证 17 实验六 非线性方程的数值解法之Newton迭代法 19 一 实验内容 19 二 实验步骤 19 三 实验难点 19 四 所编程序详细清单 19 五 例题验证 20 实验七 矩阵特征值问题的数值计算之幂法 21 一

3、 实验内容 21 二 实验步骤 21 三 难点分析 21 四 具体所编算法清单 21 五 例题验证 22 实验八 常微分方程的数值解法之改进的Euler法 24 一 实验内容 24 二 实验步骤 24 三 实验难点 24 四 具体所编算法 24 五 例题验证 25 II 实验一 插值法 本人选择Newton插值法进行编程。选择的例题为:教材(P25,例2.7)进行验证: 题目:设,并已知的数据如表1-1试用2次Newton插值多项式计算计算的近似值,并讨论其误差。 表1-1 x 2.0 2.1 2.2 1.41

4、4214 1.449138 1.483240 一 实验内容 1. 根据Newton插值多项式 (*) 使用Matlab编程实现Newton插值算法。 2.使用教材上的例题验证所编算法的正确性。 二 实验步骤 Newton插值法的关键是求出的k阶均差,然后将k阶均差代入上式(*),求出插值多项式,最后将所选例题的条件代入Newton插值多项式,与正确答案进行比对,进而得出结论。 1 难点分析 在编写程序时需要考虑的难点之一是如何确定所选用的Newton插值法的次数,本人拟选用直接从Matlab中m文件中直接人工输入的

5、方法,设一个未知量n作为选用Newton插值法的次数确定选用几次的Newton插值多项式。 在编写程序时的另一个难点是经过Newton插值公式计算之后,输出是什么?是直接列写多项式,还是以系数矩阵的形式输出?本人考虑到编程的简便性,拟直接以均差表形式输出。 2 具体步骤 详细步骤如下: (1)已知k阶均差的求解公式如下: k=1,2,....; (1) 通过上式分别求取一阶均差、二阶均差、...、k阶均差,并保存在与函数自变量x同阶的同一个大矩阵中。在大矩阵中,第一列用来存放自变量x,第二列用来存放因变量,第三列用来存放一阶均差,...,第(

6、k+2)列用来存放k阶均差。具体矩阵表示如下表1-2所示 表1-2 一阶均差 二阶均差 三阶均差 ... ... ... ... ... 注:表1-2未标示出的元素都以0填充。 (2)根据公式(*)求解n次(n为人为设定的Newton插值多项式系数)Newton插值多项式,并且在Matlab中Command Window输出该插值多项式。 (3)在教材中随机选取某一例题来验证所编程序的正确性。 三 所编程序清单 所编程序对应的文件为Newton.m %Newton插值法 fu

7、nction [y]=Newton(Xi,Yi,x,n) %%------------------------------------------------- %计算均差表 %根据教材,均差表一般列举到三阶均差即可 %一阶均差 f1=zeros(1,n);%一阶均差数值保存在f1中 for i=1:n f1(1,i)=(Yi(1,i+1)-Yi(1,i))/(Xi(1,i+1)-Xi(1,i)); end disp('一阶均差数值为:'); disp(f1); %二阶均差 f2=zeros(1,n-1);%二阶均差数值保存在f2中 for i

8、1:(n-1) f2(1,i)=(f1(1,i+1)-f1(1,i))/(Xi(1,i+2)-Xi(1,i)); end disp('二阶均差数值为:'); disp(f2); %三阶均差 if n>2 f3=zeros(1,n-2);%三阶均差数值保存在f3中 for i=1:(n-2) f3(1,i)=(f2(1,i+1)-f2(1,i))/(Xi(1,i+3)-Xi(1,i)); end disp('三阶均差数值为:'); disp(f3); end %-------------------------------------

9、 %求3次插值多项式的值 if n==3 y=Yi(1,1)+f1(1,1)*(x-Xi(1,1))+f2(1,1)*(x-Xi(1,1))*(x-Xi(1,2))+f3(1,1)*(x-Xi(1,1))*(x-Xi(1,2))*(x-Xi(1,3)); elseif n==2 y=Yi(1,1)+f1(1,1)*(x-Xi(1,1))+f2(1,1)*(x-Xi(1,1))*(x-Xi(1,2)); elseif n==1 y=Yi(1,1)+f1(1,1)*(x-Xi(1,1)); end end 四

10、 例题验证 选教材(P25,例2.7进行验证) 题目:设,并已知的数据如表1-3.试用2次Newton插值多项式计算计算的近似值,并讨论其误差。 表1-3 x 2.0 2.1 2.2 1.414214 1.449138 1.483240 编写m文件如下:(对应文件为t1.m) clear; clc; Xi=[2.0 2.1 2.2]; Yi=[1.414214 1.449138 1.483240]; x=2.15; n=2; result=Newton(Xi,Yi,x,n); disp('所求近似值为:') disp(result); 输出结果

11、为 经与教材例题所给答案比对,完全正确。 实验二 数据拟合 本人选择多项式拟合进行编程。选教材(p62,例3.10)作为验证例题,题目如下: 题目(P62,例3.10)用多项式拟合表2-1中的离散数据 表2-1 i 0 1 2 3 4 xi 0.00 0.25 0.50 0.75 1.00 yi 0.10 0.35 0.81 1.09 1.96 一 实验内容 1.所谓多项式拟合是根据多项式:

12、 (1) 做曲线拟合,其中为基函数。 2.找教材上例题进行验证,根据程序仿真结果判断所编算法的正确性。 二 实验步骤 1. 设定子空间的基函数为,设定权数(为了使运算简便,不妨都设为1)。 2. 计算克莱姆矩阵 (2) 3. 根据下式计算系数 j=0,1,...,n (3) 将代入(1)即可求得待求拟合模型多项式。 4.根据3所求的多项式画出函数曲线 三 难点分析 1. 克莱姆矩阵的求解,需要使用嵌套一次的循环,容易出错。 四 所编算

13、法清单 所编算法对应的文件为duoxiangshinihe.m function [ai]=duoxiangshinihe(i,Xi,Yi,N) wi=ones(1,i);%定义权值矩阵,并不防设权值均为1 ai=zeros(N+1,1); Cramer=zeros(N+1,N+1); for ii=1:(N+1) %列 for iii=1:(N+1)%行 Cramer(ii,iii)=0;%克莱姆矩阵元素初始化 for iiii=1:i Cramer(ii,iii)=Cramer(ii,iii)+Xi(1,ii

14、ii)^(ii+iii-2); end end end YFAI=zeros(N+1,1); %求(y,φ)矩阵 for iiiii=1:(N+1) for iiiiii=1:i YFAI(iiiii,1)=YFAI(iiiii,1)+Yi(1,iiiiii)*Xi(1,iiiiii)^(iiiii-1); end end ai=inv(Cramer)*YFAI;%由(a)=inv(φ)*(y,φ)求系数矩阵 Ai=ai'; Aii=rot90(Ai);%以上两行的作用是将(a

15、0,a1,a2,a3)改成(a3,a2,a1,a0) x1=0:1; axis([0 1 0 2]); plot(x1,polyval(Aii,x1),'r'); hold on plot(Xi,Yi,'*'); end 五 例题验证 选教材(p62,例3.10)作为验证例题,题目如下: 题目(P62,例3.10)用多项式拟合表2-2中的离散数据 表2-2 i 0 1 2 3 4 xi 0.00 0.25 0.50 0.75 1.00 yi 0.10 0.35 0.81

16、 1.09 1.96 编写例题m文件如下:(即t2.m文件) I=5;%离散点个数 xi=[0.00 0.25 0.50 0.75 1.00];%离散点横坐标 yi=[0.10 0.35 0.81 1.09 1.96];%离散点纵坐标 N=2;%选用2次多项式拟合 AI=duoxiangshinihe(I,xi,yi,N); disp('采用多项式拟合出来的多项式系数为:(从低次到高次)'); disp(AI); 仿真结果为: 图2-1 拟合曲线 经与教材例题答案比对可知,所编算法完全正确。 实验三 数值积分 本人选择复化梯形求积公式(Complex_Qu

17、adrature)。选教材题目(P79,例4.6)作为验证例题,题目如下: 题目(P79,例4.6)分别用复化梯形公式和复化Simpson公式计算时,要使误差不超过,问各取多少个点。 一 实验内容 1. 通过复化梯形求积公式 (1) 求解积分。 2. 通过梯形公式的误差公式 (2) 求解求积的误差并判断,当误差不超过允许值时即可认为求积结束。 3. 找教材上的例题进行验证,验证所编程序的正确性。 二 实验步骤 1. 首先要对区间[a,b]进行n等分(n>1),并且对都

18、要对(2)进行判断误差是否已经不超过允许值,如果超过了,则对区间[a,b]进行(n+1)等分(记作n=n+1),然后再根据(2)判断误差是否不超过允许值,依次类推,直至找到能使误差不超过允许值时的n. 2. 在(1)的基础上,根据公式(1)求积,得出计算结果并输出。 3. 找教材上例题进行验证。 三 难点分析 1. 因为误差需要和给定的误差要求比较大小,所以的取值范围是算法编程过程的一个难点。本人的思路是先求的极值点(假设在给定区间上只有一个极值点),然后求边界点的函数值以及极值点处的函数值分别为,通过比较这三个值的大小就可以找出函数的取值范围。 2. 在确定步长的基础上,通过公式(

19、)求积。通过分析可知,公式(*)可分为常量和累加量两部分,我的编程思路是先给赋初值,然后再采用循环加上累加量。 四 所编算法清单 所编算法对应的文件为Complex_Quadrature.m function [T nt]=Complex_Quadrature(f,a,b,deta) %T复化梯形求积结果,nt为运算次数 %f待积分函数表达式,[a,b]待积分区间,nt表示复化梯形求积公式满足误差要求时需要将[a,b]区间nt等分,ns表示复化Simpson求积公式满足 %误差要求时需要将[a,b]区间ns等分,deta表示积分时误差要求 %首先复化梯形求积公式 %-----

20、 syms x; y=f(x); ddy=diff(y,x,2); dddy=diff(y,x,3); [x0]=solve(dddy,'x',0);%求取函数f(x)的二阶导数极点 (为便于简便,不妨假设f(x)二阶导数只有一个极点) t=double(x0); ddfa=subs(ddy,x,a);%f''(a) ddfb=subs(ddy,x,b);%f''(b) ddfx0=subs(ddy,x,t);%f''(x0) ta=double(ddfa

21、); tb=double(ddfb);%转换为常量 tx0=double(ddfx0); %判断f''(a),f''(b),f''(x0)值的最大值和最小值 deta1=ta-tb; deta2=tb-tx0; deta3=ta-tx0; if deta1>=0&&deta2>=0 tbiggest=ta; tsmallest=tx0; elseif deta1>=0&&deta2<=0&&deta3>=0 tbiggest=ta; tsmallest=tb; elseif deta1>=0&&deta2<=0&&deta3<=0

22、 tbiggest=tx0; tsmallest=tb; end if deta1<=0&&deta2<=0 tbiggest=tx0; tsmallest=ta; elseif deta1<=0&&deta2>=0&&deta3>=0 tbiggest=tb; tsmallest=tx0; elseif deta1<=0&&deta2>=0&&deta3<=0 tbiggest=tb; tsmallest=ta; end for i=2:1000 %从2等分、3等分、4等分……n等分依次逐

23、个验证误差精度 h=(b-a)/i;%计算步长 RTmax=((-1)*(b-a)/12)*h^2*tsmallest; if RTmax<=deta nt=i; T=(h/2)*(f(a)+f(b)); for ii=1:i T=T+h*f(a+h*(ii-1)); end break else continue end end ns=0; S=0; end 五 例题验证 选教材题目

24、P79,例4.6)作为验证例题,题目如下: 题目(P79,例4.6)分别用复化梯形公式和复化Simpson公式计算时,要使误差不超过,问各取多少个点。 根据所选例题进行编程,如下:(对应文件为t3.m) syms x; f=inline('sin(x)','x'); a=0; b=pi; deta=2*10^(-5); [T nt ns S]=Complex_Quadrature(f,a,b,deta); disp(T); disp(nt); 仿真结果: 经过与教材例题所给答案进行比对,结果一致,所以所编程序完全正确。

25、 实验四 线性方程组的直接求法之高斯消去法 本人选择高斯消去法。选取教材上例题(P113,例5.3)进行验证,例题如下: 用Gauss消去法解方程组 一 实验内容 1.应用Guass消去法编写求解线性方程的直接求法,其公式推导过程如下: (1) (2) i=k+1,k+2,...n; j=k+1,

26、k+2,...,n+1. 2. 找教材上习题进行验证所编程序的正确性。 二 实验步骤 1. 通过公式(1)和公式(2)将系数矩阵化为上三角阵,增广矩阵的格式如式(3)所示 (3) 2. 通过反向逆推法,依次求得,其求解公式如下: (4) i=n-1,n-2,...1. (5) 3. 用教材例题(P113,例5.3)对程序进行验证,以验证程序的正确性。 三

27、难点分析 1.式(5)里面含有累加过程,在设置循环时容易出错。 四 所编算法清单 所编算法对应的文件为Gauss_dc.m %线性方程直接接法之高斯消去法 function [AT X]=Gauss_dc(A) [a,b]=size(A);%首先找出增广矩阵的行数和列数 for k=1:(a-1)%总共需要(a-1)次消元 for i=(k+1):a L=A(i,k)/A(k,k); for j=1:b A(i,j)=A(i,j)-L*A(k,j); end end end X=zeros(1,a); X(1,a)=A(

28、a,b)/A(a,b-1); for m=1:(a-1) %X(1,a-1)=(A(a-1,b)-A(a-1,b-1)*X(1,a))/A(a-1,b-2); %X(1,a-2)=(A(a-2,b)-A(a-2,b-1)*X(1,a)-A(a-2,b-2)*X(1,a-1))/A(a-2,b-3); X(1,a-m)=A(a-m,b); for n=1:m X(1,a-m)=X(1,a-m)-A(a-m,b-n)*X(1,a-n+1); end X(1,a-m)=X(1,a-m)/A(a-m,b-m-1); end AT=A; end 五 例题验证 选取教材上例题(P

29、113,例5.3)进行验证,例题如下: 用Gauss消去法解方程组 根据例题进行编程,程序如下: clear; clc; %题目(P113,例5.3) %给出增广矩阵 A=[1,2/3,1/3,2; 9/20,1,11/20,2; 2/3,1/3,1,2;]; [AT,X]=Gauss_dc(A); disp('消元后的增广矩阵为:'); disp(AT); disp('求得的方程组的解为:'); disp(X); 仿真实验结果为: 经过与教材所给例题答案进行比对,完全正确,由此可知,所编程序完全正确。

30、 实验五 线性方程组的迭代解法之雅可比迭代法 本人选择线性方程组的迭代解法为雅可比迭代法,本人选择教材上的例题为(P153,例6.5),其具体题目如下: 证明用J法和GS法解下列方程组 必收敛,并比较满足的迭代次数. 说明:验证时只挑选此题的一小部分,并不完全做。 一 实验内容 1.编写Jacobi迭代法程序,并解线性方程组的近似解。 2.使用教材上例题对所编程序的正确性进行验证。 二 实验步骤 1.由系数矩阵A分别求出L、U、D矩阵,A、L、U、D表示形式如下:

31、 2. 构造迭代公式如下: k=0,1,2,... (1) (2) (3) 3. 验证下式是否成立, (4) 4. 选择教材上例题进行验证,以判

32、断所编程序是否正确。 三 难点分析 1. 如何把式(4)的判别与迭代循环结合在一起是本程序编程过程中的一个难点。本人的解决方法是设默认循环次数1000次(1000次是一个比较大的数值了,教材上的例题很少有需要循环1000次才能得出满足误差要求的近似解的),并且每循环一次对式(4)进行一次判断,只要式(4)成立,则直接跳出循环即可。 四 所编算法序清单 所编的算法对应的文件为Jacobi.m %线性方程组的迭代解法之Jacobi迭代法 function [X n]=Jacobi(A,B,deta) %X为最后求得的近似解;n为迭代次数;A为系数增广矩阵;deta为允许误差 [a,

33、b]=size(A); L=zeros(a,a); U=zeros(a,a); D=zeros(a,a); %下面内容是分别求L、U和D矩阵 for i=1:a for j=1:a if ij L(i,j)=-A(i,j); elseif i==j D(i,j)=A(i,j); end end end BJ=inv(D)*(L+U); fJ=inv(D)*

34、B; x0=[0,0,0]'; x1=BJ*x0+fJ; D=x0-x1; n=1; for i=1:1000 if norm(D,inf)>deta t=x1; x1=BJ*x1+fJ; D=x1-t; n=n+1; end if norm(D,inf)<=deta break; end end X=x1; end 四 例题验证 本人选择教材上的例题为(P153,例6.5),其具体题目如下: 证明用J法和GS法解下列方程组 必收敛,

35、并比较满足的迭代次数. 说明:验证时只挑选此题的一小部分,并不完全做。 根据例题编程如下:(对应的文件为t5.m) clear; clc; %验证例题 (P153,例6.5) %系数矩阵 A=[10,-2,-2; -2,10,-1; -1,-2,3;]; %方程右端矩阵 B=[1;0.5;1;]; [a,b]=size(A); X=zeros(a,1); wx=10^(-5);%允许误差 [X,n]=Jacobi(A,B,wx); disp('通过Jacobi迭代法求得的近似解为:'); disp(X); disp('使用Jacobi方法迭代

36、次数为:'); disp(n); 实验结果如下: 经过与教材例题所给答案比对,完全正确,由此可知,所编程序正确。 实验六 非线性方程的数值解法之Newton迭代法 本人所选择的非线性方程组的数值解法为Newton迭代法。本人选择课本例题(P183,例7.11)进行验证,具体题目如下; 方程的根是二重根,用三种方法求解。 说明:只做该题的部分题目,并且给所给答案的表格进行验证。 一 实验内容 1. 使用Newton迭代法求解非线性方程。 2. 使用教材上的例题验证所编程序的正确性。

37、 二 实验步骤 1. 先求解的一阶导数; 2. 根据下式进行迭代: k=0,1,... (1) 3. 与误差限定值进行比对,如果误差满足需要则终止迭代,否者则一直持续下去。 4. 找教材上的例题对所编程序进行验证,验证程序的正确性。 三 实验难点 1. 因为需要向matlab自定义函数中代入函数解析式,所以需要用到inline()函数。 2. 向微分后的函数解析式df代入自变量时需要使用subs()函数。 四 所编程序详细清单 所编程序对应的文件为Newton_DD.m function [R]=N

38、ewton_DD(f,x0) syms x; y=f(x); dy=diff(y,x,1);%求f(x)微分 R=zeros(2,11); R(2,1)=x0; for i=2:11%设定迭代10次,第一列表征初始值 R(1,i)=i-1;%R矩阵第一行表示第几次迭代 R(2,i)=R(2,i-1)-subs(y,x,R(2,i-1))/subs(dy,x,R(2,i-1)); end 五 例题验证 本人选择课本例题(P183,例7.11)进行验证,具体题目如下;方程的根是二重根,用三种方法求解。说明:只做该题的部分题目,并且给所给答案的表格进行验证。

39、根据题目编写程序如下:(对应文件为t6.m) %(P183,例7.11) clear; clc; %设f(x)=0中的f(x)函数 syms x; f=inline('x^4-4*x^2+4','x'); %取迭代初值x0 x0=1.5; R=Newton_DD(f,x0);%经过Newton迭代法求得的结果矩阵 disp('计算结果为:(第一行为迭代次数,第二行为对应迭代次数的计算结果)') disp(R); 实验结果如下: 经过与课本例题所给答案进行比对可以发现,所编程序完全正确。 实验七 矩阵特征值问题的数值计算之幂

40、法 本人选择幂法进行矩阵特征值问题的数值计算所选题目(P212,例9.3) 用幂法求矩阵 的主特征值和主特征向量。 一 实验内容 1. 使用幂法求取矩阵的主特征值和主特征向量。 2. 使用课本例题验证所编程序的正确性。 二 实验步骤 1. 根据以下迭代公式求取主特征向量,主特征值。 (1) (2) ,k=1,2,..

41、 (3) 因为 主特征向量 (4) 主特征值 (5) 采用迭代算法时,可以这样理解:每一次迭代求得的和近似为本次迭代所得到的主特征向量和主特征值。 2. 将所选教材例题(P212,例9.3)进行编程,用来验证所编程序的正确性。 三 难点分析 1. 因为每迭代一次就要有一次输出,所以输出结果显得比较凌乱。 四 具体所编算法清单 所编算法对应的文件为MiMethod.m function [lanbud

42、a uk n]=MiMethod(A,u0) v0=u0; n=0; for i=1:20 v1=A*u0; [a,b]=size(v1); vmax=v1(1,1);%先设max(v1)初值为v1第一个元素 for j=1:a if vmax

43、 disp('次运算结果输出的主特征值为:'); disp(vmax); disp('第'); disp(n); disp('次运算结果输出的主特征向量为:'); disp(u0'); end lanbuda=vmax; uk=u0'; end 五 例题验证 所选题目(P212,例9.3) 用幂法求矩阵 的主特征值和主特征向量。 将所选例题进行验证,对例题所编程序代码如下:(对应文件为t7.m) clear; clc; %教材P212 例9.3 求A矩阵的住特征值和主特征限量 A=[1,1

44、0.5; 1,1,0.25; 0.5,0.25,2]; u0=[1,1,1]'; [lanbuda,uk,n]=MiMethod(A,u0);%lanbuda为主特征值;uk为最后计算的主特征向量;n为第几次运算 %disp('主特征向量为:'); %disp(uk); %disp('主特征值为:'); %disp(lanbuda); 输出结果为: 注:本人对程序设定的输出是每迭代一次就输出一次,以上截图仅取最后一次输出结果。 实验八 常微分方程的数值解法之改进的Euler法 本人选择常微分方程的

45、数值解法为改进的Euler法,所选的验证题目为教材(P238,例10.5)。具体题目如下: 取h=0.1,用改进的的Euler方法解 一 实验内容 1. 使用改进的Euler编写程序。 2. 选择教材上例题验证所编程序的正确性。 二 实验步骤 1. 使用下式进行迭代求解: (1) 2. 代入所选例题进行验证。 三 实验难点 1.编程过程中设中间变量有一定的困难。 四 具体所编算法 本人所编算法对应的文件为EulerX.m。 %改进的Euler公式 function [

46、EX]=EulerX(h,dy,y0) syms x y; f=dy; disp(f); EX=zeros(3,8); for i=1:9 EX(1,i)=0.1*(i-1); end EX(2,1)=y0; for i=1:8 yba=EX(2,i)+h*(f(EX(1,i),EX(2,i)));%预估 EX(2,i+1)=EX(2,i)+(h/2)*(f(EX(1,i),EX(2,i))+f(EX(1,i+1),yba));%校正 end %为方便比较误差,下面求不同自变量下的精确解 for i=1:9 EX(3,i)=

47、sqrt(1+2*EX(1,i)); end 五 例题验证 所选的验证题目为教材(P238,例10.5)。具体题目如下: 取h=0.1,用改进的的Euler方法解 根据例题编写程序如下:(对应文件为t8.m)。 %教材例题 (P236,例10.5) h=0.1;%设定步长 dy=inline('y-2*x/y','x','y'); y0=1; EX=EulerX(h,dy,y0); disp('改进的Euler方法:(第一行为x,第二行为近似解,第三行为精确解)') disp(EX); 经

48、过与教材例题进行比对,完全正确。 1. 基于C8051F单片机直流电动机反馈控制系统的设计与研究 2. 基于单片机的嵌入式Web服务器的研究 3. MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究 4. 基于模糊控制的电阻钎焊单片机温度控制系统的研制 5. 基于MCS-51系列单片机的通用控制模块的研究 6. 基于单片机实现的供暖系统最佳启停自校正(STR)调节器 7. 单片机控制的二级倒立摆系统的研究 8. 基于增强型51系列单片机的TCP/IP协议栈的实现

49、9. 基于单片机的蓄电池自动监测系统 10. 基于32位嵌入式单片机系统的图像采集与处理技术的研究 11. 基于单片机的作物营养诊断专家系统的研究 12. 基于单片机的交流伺服电机运动控制系统研究与开发 13. 基于单片机的泵管内壁硬度测试仪的研制 14. 基于单片机的自动找平控制系统研究 15. 基于C8051F040单片机的嵌入式系统开发 16. 基于单片机的液压动力系统状态监测仪开发 17. 模糊Smith智能控制方法的研究及其单片机实现 18. 一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制 19. 基于双单片机冲床数控系统的研究

50、 20. 基于CYGNAL单片机的在线间歇式浊度仪的研制 21. 基于单片机的喷油泵试验台控制器的研制 22. 基于单片机的软起动器的研究和设计 23. 基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究 24. 基于单片机的机电产品控制系统开发 25. 基于PIC单片机的智能手机充电器 26. 基于单片机的实时内核设计及其应用研究 27. 基于单片机的远程抄表系统的设计与研究 28. 基于单片机的烟气二氧化硫浓度检测仪的研制 29. 基于微型光谱仪的单片机系统 30. 单片机系统软件构件开发的技术研究 31. 基于单片机的液体点滴速度自动

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服