数值计算方法程序设计_第1页
数值计算方法程序设计_第2页
数值计算方法程序设计_第3页
数值计算方法程序设计_第4页
数值计算方法程序设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

TheStandardizationOfficewasrevisedontheafternoonofDecember13,20201.用matlab编写拉格朗日插值算法的程序并且以(x=,f(x)=x=,f(x)=x=,f(x)=x=,f(x)=为数据基础,在整个插值区间上采用拉格朗日插值算法计算f(x=,写出程,输出计算结果x;x1=;x2=;x3=;yy=;y2=;y3=;xyxx).*(x-x2).*(x-x3)/((x0-x1).*(x0-x2).*(x0-x3))*y0+(x-x0).*(x-x2).*(x-x/((x1-x0).*(x1-x2).*(x1-x3))*y1+(x-x0).*(x-x1).*(x-x3)/((x2-x0).*(x2-x1).*(x2-x)*y2+(x-x0).*(x-x1).*(x-x2)/((x3-x0).*(x3-x1).*(x3-x2))*y3;dispydispy结果为:x=unctionxzhuiganfa对角矩阵的线性方程组求解的方法,并不适用于其他类型矩阵。A。方程为Ax=dbA~n),a为-1对角线元素(2~n),c为+1对角线元素(1~n-%A=[2-100-13-200-24-30-35]a-1-2-3];c=[-1-2-3];b=[2345];d=[61-21];ay(d(1)-y0*a(1))/L(1);fori=2:(n-1)Libiaiui);yid(i)-y(i-1)*a(i))/L(i);anunyn(d(n)-y(n-1)*a(n))/L(n);xn=y(n);fori=(n-1):-1:1xi=y(i)-u(i)*x(i+1);5.2.2幂法的MATLAB程序用幂法计算矩阵A的主特征值和对应的特征向量的MATLAB主程序bdaVkWcmifaAVjdmaxlambdakWc=1;,jd=jd*;state=1;V=V0;VkAV;[mj]=max(abs(Vk));mk=m;slambdamkVkmkVkmVVkWcmaxTxwtzwVVklambda=mk;state=0;dispk的近似值lambda,主特征向dispk大迭代次数max1,主特征值lambdaVk迭代的误差WVk=V;k=k-1;Wc;2.2向量,精度=105.并把(1)和(2)输出的结果与例中的结果进行比较.(1)输入MATLAB程序AV1,1]';dawuVVVkk主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误Wc下:klambda=Wc=Vk=V=wuV=DzdwuD=3eB36];V0=[1,1,1]';xdiagDwuDabsDzdlambdawuV=V(:,3)./Vk,k主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误Wc下:klambda=Wc=Dzd=wuD=39090Vk=wuV=V=0C4-121];V0=[1,1,1]';iagDwuDabsDzdlambdaVzd=V(:,1),wuV=V(:,1)./Vk,k经达到最大迭代次数max1,主特征值的迭代值lambda,主特征向量的迭量Vk,相邻两次迭代的误差Wc如下:Wc=wuD=Vkzd=wuV=xlambda=k1(,,)T,X=k2(,)T,X=k3(,+,+T(k10,k20,k30是常数).(4)输入MATLAB程序D0;-102];V0=[1,1,1]';diagDtwuDtabsDtzdlambdaVzdV:,2),wuV=V(:,2)./Vk,k主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误Wc下:klambdaWc=DtzdwuDt=Vk=Vzd=wuV=(一)原点位移反幂法的MATLAB主程序1用原点位移反幂法计算矩阵A征值和对应的特征向量的MATLAB主程序1dispAaEnhl零,所以A-hpdetA1:p,1:p));disp('请注意:因为A-LUdisp('请注意:因为A-kVmkmVk=Vk/mk;Yk1=L\Vk1;Vk1=U\Yk1;mkmVk2=(1/mk1)*Vk1;tzw1=abs((mk-mkmk1);tzw2=abs(mk1-mk);Txw1=norm(Vk)-wnormVknormVknormVkxwtzwtzwVkVkmkmkWc=max(Txw,tzw);VkVk;mk=mk1;state=0;AaEhlk模最小特征值的近似值lambda,特AaEhlk达到最大迭代次数max1,按模最小lambda迭代向量Vk,相邻两次迭代的误差Wc如下例5.3.2用原点位移反幂法的迭代公式(),根据给定的下列矩阵的特征值入n的初始值入n,计算与入n对应的特征向量Xn的近似向量,精确到1.(1)21)输入MATLAB程序A2;0-12];V0=[1,1,1]';AaE秩R(A-aEhl次数k,按模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻的误差Wc如下:klambdaWc=hl=3Vk=V=D=000000(2)输入MATLAB程序AV0=[20,1]';AVAaE秩R(A-aEhl次数k,按模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻的误差Wc如下:klambda=Wc=hl=2Vk=V=D=203(3)输入MATLAB程序A583;153-3];V0=[1,1,-1]';AaE秩R(A-aEhl次数k,按模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻的误差Wc如下:klambdan=Wc=hl=2Vk=V=D=000000例5.3.3用原点位移反幂法的迭代公式(),计算A=0--1XXX解(1)计算特征值入1~=1.001对应的特征向量X1A-7;-426-10];V0=[1,1,1]';ndiagDwuDabsDzdlambdaVD=V(:,1),wuV=V(:,1)./Vk,请注意:因为A-aE的各阶主子式都不等于零,所以A-AaE秩R(A-aEhlk模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:hl=klambda=RA1=5VkVD=wuV=WcDzd=wuD=从输出的结果可见,迭代5次,特征向量X1的近似向量X1的相邻两次迭代的误差~e-009,由wuV可以看出,1=Vk与VD的对应分量的比值相等.特征值入1的近似值lambda~与初始值=的绝对误差为,而与入1的绝对误差为,其中T (2)计算特征值入2入2=2.001对应特征向量X2的近似向量.输入MATLAB程序A-7;-426-10];V0=[1,1,1]';yfmfAVaDVDV,wuV=V(:,2)./Vk,请注意:因为A-aE的各阶主子式都不等于零,所以A-AaE秩R(A-aEhlk模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:hl=kWclambda=WD=2Vk=VD=wuV=从输出的结果可见,迭代2次,特征向量X2的近似向量X2 (3)计算特征值入3入3=4.001对应特征向量X3的近似向量.输入MATLAB程序A-7;-426-10];V0=[1,1,1]';amaxdiagD),VD=V(:,3),wuV=V(:,3)./Vk,请注意:因为A-aE的各阶主子式都不等于零,所以A-AaE秩R(A-aEhlk模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:hl=daWc=WD=2Vk=VD=wuV=从输出的结果可见,迭代2次,特征向量X3的近似向量X3的相邻两次迭代的误差,X3与X3的对应分量的比值近似相等.特征值入3(二)原点位移反幂法的MATLAB主程序2用原点位移反幂法计算矩阵A征值和对应的特征向量的MATLAB主程序2nvAmbdakWcstateUVVkA\U;[mj]=max(abs(Vk));mk=m;Vk/mk)*Vk;Vk1=A1\Vk;mkm,Vk1=(1/mk1)*Vk1;U=Vk1,normVknormVknormVklambdamkmkWcmaxTxwtzwlambda1=mk1;state=0;dispk似值lambda,对应的特征dispk迭代次数max1,lambda向量的近似向量Vk,相邻两次3.4用原点位移反幂法的迭代公式(),计算例题,并且将这两个例题的计算结果进行比较.再用两种原点位移反幂法的MATLAB主程序,求入1=0.99999999999997对应的特征向量.解(1)计算特征值入1入1=1.001对应特征向量X1的近似向量.输入MATLAB程序A-7;-426-10];V0=[1,1,1]';AVk近似值lambda,对应的特征向量的近似向Vk邻两次迭代的误差Wc如下:klambdaWc=5Vk’=对应的特征向量.(2)再用两种原点位移反幂法的MATLAB主程序,求入1=0.99999999999997对应的特征向量.输入MATLAB程序>>A=[011-5;-217-7;-426-10];V0=[1,1,1]';AV请注意:因为A-aE的各阶主子式都不等于零,所以A-AaE秩R(A-aEhlk模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:hl=Vk=RA1=2Wc=lambda=ABA7-7;-426-10];V0=[1,1,1]';aAVk近似值lambda,对应的特征向量的近似WcVk=Vk=3Wc=雅可比(Jacobi)方法及其MATLAB程序5.4.3雅可比方法的MATLAB程序用雅可比方法计算对称矩阵A的特征值和对应的特征向量的MATLAB主程序WcjacobiteAjdmax;AijabsBk-diag(diag(Bk)));[m1i]=max(Aij);whilekmax&(state==1))BkdiagdiagBkmmkmsign(Aij(i,j)),WcmDkdiagdiag(Bk));Pk=P0;BkjjBkiiBkijigncabscsqrtcpiisqrt1+t^2)),pij=t/(sqrt(1+t^2)),pijjipijPkBkBBPkVkVkPkBkBdispk迭代次数max1,迭代次数kBkV,特征值为对角元的对角矩阵D如dispkBk以特征向量为列向量的矩WckkVVk;Bk=B2;D=diag(diag(Bk));[V1,D1]=eig(A,'nobalance')abdxdtxyxxy2)dydtxyyxy2)x)=2y1解析解:xydsolveDxxyxxy','Dy=x+y-y*(x^2+y^2)','x(0)=2','y(0)=1')结果是解析解没有找到。Matlabedit下面两行百分号之间的内容,复制进去,保存%%%%%%%%%%%%%%%%%%%%%%%%functionyzhidaork4_5(t,x)xyxx表示yx)-x(2)-x(1)*(x(1)^2+x(2)^2);x(1)+x(2)-x(2)*(x(1)^2+x(2)^2)];%%%%%%%%%%%%%%%%%%%%%%%%在Matlab下面输入:tendx[2;1];txodezhidaorkt_end],x0);xlabelt');gureotxxxlabelx');ylabely;functionIstepTrapezoidfab,eps)arginn;hb-a)/2;Isubssymf,findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b))/h;whileabsI2-I1)>epsnn1;hb-a)/n;nxxh;I2=I2+(h/2)*(subs(sym(f),findsym(sym(f)),x)+...subs(sym(f),findsym(sym(f)),x1));%公式endendqsTrapezoid('

温馨提示

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

评论

0/150

提交评论