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

加入VIP,免费下载
 

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

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数值计算方法程序设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数值计算方法程序设计.docx

1、数值计算方法程序设计1.用matlab编写拉格朗日插值算法的程序 并且以(x=-2.00,f(x)=17.00 x=0.00,f(x)=1.00 x=1.00,f(x)=2.00 x=2.00,f(x)=17.00)为数据基础,在整个插值区间上采用拉格朗日插值算法计算f(x=0.6),写出程序源代码,输出计算结果x0=-2.00;x1=0.00;x2=1.00;x3=2.00;y0=17.00;y1=1.00;y2=2.00;y3=17.00;x=0.6y=(x-x1).*(x-x2).*(x-x3)/(x0-x1).*(x0-x2).*(x0-x3)*y0+(x-x0).*(x-x2).*(

2、x-x3)/(x1-x0).*(x1-x2).*(x1-x3)*y1+(x-x0).*(x-x1).*(x-x3)/(x2-x0).*(x2-x1).*(x2-x3)*y2+(x-x0).*(x-x1).*(x-x2)/(x3-x0).*(x3-x1).*(x3-x2)*y3;disp(y=);disp(y);结果为:x = 0.6000y=0.25602.追赶法function x=zhuiganfa%首先说明:追赶法是适用于三对角矩阵的线性方程组求解的方法,并不适用于其他类型矩阵。%定义三对角矩阵A的各组成单元。方程为Ax=d% b为A的对角线元素(1n),a为-1对角线元素(2n),c为

3、+1对角线元素(1n-1)。% A=2 -1 0 0% -1 3 -2 0% 0 -2 4 -3% 0 0 -3 5a=0 -1 -2 -3;c=-1 -2 -3;b=2 3 4 5;d=6 1 -2 1;n=length(b);u0=0;y0=0;a(1)=0;%“追”的过程L(1)=b(1)-a(1)*u0;y(1)=(d(1)-y0*a(1)/L(1);u(1)=c(1)/L(1);for i=2:(n-1) L(i)=b(i)-a(i)*u(i-1); y(i)=(d(i)-y(i-1)*a(i)/L(i); u(i)=c(i)/L(i);endL(n)=b(n)-a(n)*u(n-1

4、);y(n)=(d(n)-y(n-1)*a(n)/L(n);%“赶”的过程x(n)=y(n);for i=(n-1):-1:1 x(i)=y(i)-u(i)*x(i+1);end3.特征向量的计算,幂法5.2.2 幂法的MATLAB程序用幂法计算矩阵的主特征值和对应的特征向量的MATLAB主程序function k,lambda,Vk,Wc=mifa(A,V0,jd,max1)lambda=0;k=1;Wc =1; ,jd=jd*0.1;state=1; V=V0;while(kjd)state=1;endk=k+1;Wc=Wc;endif(WcA=1 -1;2 4; V0=1,1; k,la

5、mbda,Vk,Wc=mifa(A,V0,0.00001,100), V,D = eig (A), Dzd=max(diag(D), wuD= abs(Dzd- lambda), wuV=V(:,2)./Vk, 运行后屏幕显示结果请注意:迭代次数k,主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k = lambda = Wc = 33 3.00000173836804 8.691862856124999e-007Vk = V = wuV =-0.49999942054432 -0.70710678118655 0.44721359549996 -0.894

6、428227562941.00000000000000 0.70710678118655 -0.89442719099992 -0.89442719099992Dzd = wuD = 3 1.738368038406435e-006 由输出结果可看出,迭代33次,相邻两次迭代的误差Wc 8.69 19e-007,矩阵的主特征值的近似值lambda3.000 00和对应的特征向量的近似向量Vk (-0.500 00,1.000 00, lambda与例5.1.1中的最大特征值近似相等,绝对误差约为1.738 37e-006,Vk与特征向量的第1个分量的绝对误差约等于0,第2个分量的绝对值相同.由

7、wuV可以看出,的特征向量V(:,2) 与Vk的对应分量的比值近似相等.因此,用程序mifa.m计算的结果达到预先给定的精度.(2) 输入MATLAB程序 B=1 2 3;2 1 3;3 3 6; V0=1,1,1; k,lambda,Vk,Wc=mifa(B,V0,0.00001,100), V,D = eig (B), Dzd=max(diag(D), wuD= abs(Dzd- lambda), wuV=V(:,3)./Vk,运行后屏幕显示结果请注意:迭代次数k,主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k = lambda = Wc = Dzd

8、 = wuD = 3 9 0 9 0Vk = wuV = 0.50000000000000 0.81649658092773 0.50000000000000 0.81649658092773 1.00000000000000 0.81649658092773V = 0.70710678118655 0.57735026918963 0.40824829046386 -0.70710678118655 0.57735026918963 0.40824829046386 0 -0.57735026918963 0.81649658092773 (3) 输入MATLAB程序 C=1 2 2;1 -

9、1 1;4 -12 1;V0=1,1,1; k,lambda,Vk,Wc=mifa(C,V0,0.00001,100), V,D = eig (C), Dzd=max(diag(D), wuD=abs(Dzd-lambda),Vzd=V(:,1),wuV=V(:,1)./Vk,运行后屏幕显示请注意:迭代次数k已经达到最大迭代次数max1,主特征值的迭代值lambda,主特征向量的迭代向量Vk,相邻两次迭代的误差Wc如下:k = lambda = Wc = 100 0.09090909090910 2.37758124193119 Dzd = wuD = 1.00000000000001 0.9

10、0909090909091Vk= Vzd = wuV =0.99999999999993 0.90453403373329 0.904534033733350.99999999999995 0.30151134457776 0.301511344577781.00000000000000 -0.30151134457776 -0.30151134457776由输出结果可见,迭代次数k已经达到最大迭代次数max1=100,并且lambda的相邻两次迭代的误差Wc2.377 582,由wuV可以看出,lambda的特征向量Vk与真值Dzd的特征向量Vzd对应分量的比值相差较大,所以迭代序列发散.实

11、际上,实数矩阵C的特征值的近似值为,并且对应的特征向量的近似向量分别为=(0.90453403373329,0.30151134457776,-0.30151134457776),(-0.72547625011001,-0.21764287503300-0.07254762501100i, 0.58038100008801-0.29019050004400i),( -0.72547625011001, -0.21764287503300 + 0.07254762501100i, 0.58038100008801 + 0.29019050004400i), 是常数).(4)输入MATLAB程序

12、D=-4 14 0;-5 13 0;-1 0 2; V0=1,1,1; k,lambda,Vk,Wc=mifa(D,V0,0.00001,100), V,Dt =eig (D), Dtzd=max(diag(Dt), wuDt=abs(Dtzd-lambda), Vzd=V(:,2),wuV=V(:,2)./Vk,运行后屏幕显示结果请注意:迭代次数k,主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k = lambda = Wc = 19 6.00000653949528 6.539523793591684e-006Dtzd = wuDt = 6.00000

13、000000000 6.539495284840768e-006Vk = Vzd = wuV =0.79740048053564 0.79740048053564 0.79740048053564 0.71428594783886 0.56957177181117 0.79740021980618 -0.24999918247180 -0.199*391 0.79740308813370(一) 原点位移反幂法的MATLAB主程序1用原点位移反幂法计算矩阵的特征值和对应的特征向量的MATLAB主程序1function k,lambdan,Vk,Wc=ydwyfmf(A,V0,jlamb,jd,m

14、ax1)n,n=size(A); A1=A-jlamb*eye(n); jd= jd*0.1;RA1=det(A1); if RA1=0disp(请注意:因为A-aE的n阶行列式hl等于零,所以A-aE不能进行LU分解.)returnendlambda=0;if RA1=0 for p=1:nh(p)=det(A1(1:p, 1:p);endhl=h(1:n);for i=1:nif h(1,i)=0disp(请注意:因为A-aE的r阶主子式等于零,所以A-aE不能进行LU分解.) returnendend if h(1,i)=0 disp(请注意:因为A-aE的各阶主子式都不等于零,所以A-

15、aE能进行LU分解.)k=1;Wc =1;state=1; Vk=V0;while(kjd)state=1;endk=k+1;%Vk=Vk2,mk=mk1,endif(Wc A=1 -1 0;-2 4 -2;0 -1 2;V0=1,1,1;k,lambda,Vk,Wc=ydwyfmf(A,V0,0.2,0.0001,10000)运行后屏幕显示结果请注意:因为A-aE的各阶主子式都不等于零,所以A-aE能进行LU分解.A-aE的秩R(A-aE)和各阶顺序主子式值hl、迭代次数k,按模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k = lambda = Wc

16、 = hl = 3 0.2384 1.0213e-007 0.8000 1.0400 0.2720Vk = V = D = 1.0000 -0.2424 -1.0000 -0.5707 5.1249 0 0 0.7616 1.0000 -0.7616 0.3633 0 0.2384 0 0.4323 -0.3200 -0.4323 1.0000 0 0 1.6367(2)输入MATLAB程序 A=1 -1;2 4;V0=20,1;k,lambda,Vk,Wc=ydwyfmf(A,V0,2.001,0.0001,100) 运行后屏幕显示结果请注意:因为A-aE的各阶主子式都不等于零,所以A-aE

17、能进行LU分解.A-aE的秩R(A-aE)和各阶顺序主子式值hl、迭代次数k,按模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k = lambda = Wc = hl = 2 2.0020 5.1528e-007 -1.0010 -0.0010Vk = V = D = 1.0000 -1.0000 0.5000 2 0 -1.0000 1.0000 -1.0000 0 3(3)输入MATLAB程序 A=-11 2 15;2 58 3;15 3 -3;V0=1,1,-1;k,lambdan,Vk,Wc=ydwyfmf(A,V0,8.26, 0.0001,1

18、00) 运行后屏幕显示结果请注意:因为A-aE的各阶主子式都不等于零,所以A-aE能进行LU分解.A-aE的秩R(A-aE)和各阶顺序主子式值hl、迭代次数k,按模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k = lambdan= Wc = hl = 2 8.2640 6.9304e-008 -19.2600 -961.9924 -6.1256Vk = V = D = -0.7692 0.7928 0.6081 0.0416 -22.5249 0 0 0.0912 0.0030 -0.0721 0.9974 0 8.2640 0 -1.0000 -0.

19、6095 0.7906 0.0590 0 0 58.2609例 5.3.3 用原点位移反幂法的迭代公式(5.28),计算的分别对应于特征值,的特征向量,的近似向量,相邻迭代误差为0.001.将计算结果与精确特征向量比较.解 (1)计算特征值对应的特征向量的近似向量.输入MATLAB程序 A=0 11 -5;-2 17 -7;-4 26 -10;V0=1,1,1;k,lambda,Vk,Wc= ydwyfmf(A,V0,1.001, 0.001,100),V,D=eig(A);Dzd=min(diag(D), wuD= abs(Dzd- lambda),VD=V(:,1),wuV=V(:,1).

20、/Vk,运行后屏幕显示结果请注意:因为A-aE的各阶主子式都不等于零,所以A-aE能进行LU分解.A-aE的秩R(A-aE)和各阶顺序主子式值hl、迭代次数k,按模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:hl = -1.00100000000000 5.98500100000000 -0.00299600100000k = lambda = RA1 = 5 1.00200000000000 -0.00299600100000Vk = VD = wuV = -0.50000000000000 -0.40824829046386 0.8164965809

21、2773 -0.50000000000000 -0.40824829046386 0.81649658092773 -1.00000000000000 -0.81649658092773 0.81649658092773Wc = Dzd = wuD = 1.378794763695562e-009 1.00000000000000 0.00200000000000 从输出的结果可见,迭代5次,特征向量的近似向量的相邻两次迭代的误差Wc1.379 e-009,由wuV可以看出,= Vk与VD 的对应分量的比值相等.特征值的近似值lambda 1.002与初始值1.001的绝对误差为0.001,而

22、与的绝对误差为0.002,其中,.(2)计算特征值对应特征向量的近似向量.输入MATLAB程序 A=0 11 -5;-2 17 -7;-4 26 -10;V0=1,1,1;k,lambda,Vk,Wc=ydwyfmf(A,V0,2.001, 0.001,100) ,V,D=eig(A); WD=lambda-D(2,2),VD=V(:,2),wuV=V(:,2)./Vk,运行后屏幕显示结果请注意:因为A-aE的各阶主子式都不等于零,所以A-aE能进行LU分解.A-aE的秩R(A-aE)和各阶顺序主子式值hl、迭代次数k,按模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻两次迭代的

23、误差Wc如下:hl = -2.00100000000000 -8.01299900000000 0.00200099900000k = Wc = lambda = WD = 2 3.131*2120e-007 2.00200000000016 0.00200000000016Vk = VD = wuV = -0.24999999999999 0.21821789023599 -0.87287156094401 -0.49999999999999 0.43643578047198 -0.87287156094398 -1.00000000000000 0.87287156094397 -0.87

24、287156094397从输出的结果可见,迭代2次,特征向量的近似向量的相邻两次迭代的误差Wc3.131e-007,与的对应分量的比值近似相等.特征值的近似值lambda2.002与初始值2.001的绝对误差约为0.001,而lambda与的绝对误差约为0.002,其中,.(3)计算特征值对应特征向量的近似向量.输入MATLAB程序 A=0 11 -5;-2 17 -7;-4 26 -10;V0=1,1,1;k,lambda,Vk,Wc=ydwyfmf(A,V0,4.001, 0.001,100)V,D=eig(A); WD=lambda-max(diag(D),VD=V(:,3),wuV=V

25、(:,3)./Vk,运行后屏幕显示结果请注意:因为A-aE的各阶主子式都不等于零,所以A-aE能进行LU分解.A-aE的秩R(A-aE)和各阶顺序主子式值hl、迭代次数k,按模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:hl =-4.00100000000000 -30.00899900000000 -0.00600500099999k = lambda = Wc = WD = 2 4.00199999999990 1.996084182914842e-007 0.00199999999990Vk = VD = wuV = 0.4000000000000

26、1 -0.32444284226153 -0.81110710565380 0.60000000000001 -0.48666426339229 -0.81110710565381 1.00000000000000 -0.81110710565381 -0.81110710565381从输出的结果可见,迭代2次,特征向量的近似向量的相邻两次迭代的误差Wc1.996e-007,与的对应分量的比值近似相等.特征值的近似值的绝对误差近似为,而lambda与的绝对误差约为0.002,其中-0.400 000 000 000 00,-0.600 000 000 000 00,-1.000 000 000 000 00, .(二)原点位移反幂法的MATLAB主程序2用原点位移反幂法计算矩阵的特征值和对应的特征向量的MATLAB主程序2function k,lambdan,Vk,Wc=wfmifa1(A,V0,jlamb,jd,max1)n,n=size(A); jd= jd*0.1

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1