ImageVerifierCode 换一换
你正在下载:

matlab.docx

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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

matlab.docx

1、matlab第二章1 用简单消去法解线性方程组。matlab程序:function x=ja211(A,b)m,m=size(A);l(m,m)=0;x(m,1)=0;for j=1:1:m-1, for i=j+1:1:m, l(i,j)=A(i,j)/A(j,j); for h=j:1:m, A(i,h)=(A(i,h)-l(i,j)*A(j,h); end b(i,1)=b(i,1)-l(i,j)*b(j,1); endendif A(m,m)=0, x(m,1)=b(m,1)/A(m,m); for t=m-1:-1:1, s=0; for e=t+1:1:m, s=s+A(t,e)*

2、x(e,1), end x(t,1)=(b(t,1)-s)/A(t,t), endend题解 C=2.37 3.06 -4.28;1.46 -0.78 3.75;-3.69 5.13 1.06; d=1.76;4.69;5.74; ja211(C,d)ans = 0.933798514091890 1.541054685145016 1.2076471530237212 用主元消去法解线性方程组。Matlab程序:function x=ja221(A,b)m,m=size(A);D(1,m)=0;l(m,m)=0;x(m,1)=0;for j=1:1:m-1, c=find(A(j:1:m,j

3、)=max(A(j:1:m,j); D=A(j,:);d=b(j,1); A(j,:)=A(c+j-1,:);b(j,1)=b(c+j-1,1); A(c+j-1,:)=D;b(c+j-1,1)=d; for i=j+1:1:m, l(i,j)=A(i,j)/A(j,j); for h=j:1:m, A(i,h)=(A(i,h)-l(i,j)*A(j,h); end b(i,1)=b(i,1)-l(i,j)*b(j,1); endendif A(m,m)=0, x(m,1)=b(m,1)/A(m,m); for t=m-1:-1:1, s=0; for e=t+1:1:m, s=s+A(t,e

4、)*x(e,1); end x(t,1)=(b(t,1)-s)/A(t,t); endend题解A=1 0.8324 0.7675 0.9831;0.8324 0.6930 0.6400 0.8190;.0.7675 0.6400 0.5911 0.7580;0.9831 0.8190 0.7580 0.0055; b=8.8997;7.4144;6.8528;4.9171; ja221(A,b)ans = 0.999999999999273 2.000000000000864 3.000000000000011 4.000000000000005用LU分解法求线性方程组。Matlab程序:f

5、unction L U x=ja51(A,b)n,n=size(A);L=eye(size(A);U=zeros(size(A);U(1,:)=A(1,:);for i=2:1:n, for j=1:1:n, if j=i, s2=0; for e2=1:1:i-1, s2=s2+L(i,e2)*U(e2,j); end U(i,j)=A(i,j)-s2; end endendy(n,1)=0;x(n,1)=0;for h=1:1:n, if h=1, y(h,1)=b(1,1); else s3=0; for e3=1:1:h-1, s3=s3+L(h,e3)*y(e3,1); end y(

6、h,1)=b(h,1)-s3; endendfor t=n:-1:1, if t=n, x(t,1)=y(n,1)/U(n,n); else s4=0; for e4=t+1:1:n, s4=s4+U(t,e4)*x(e4,1); end x(t,1)=(y(t,1)-s4)/U(t,t); endend题解:(1) A=2 0 1;-3 4 -2;1 7 -5; b=4;-3;6; L U x=ja51(A,b)L =1.000000000000000 0 0 -1.500000000000000 1.000000000000000 0 0.500000000000000 1.7500000

7、00000000 1.000000000000000U = 2.000000000000000 0 1.000000000000000 0 4.000000000000000 -0.500000000000000 0 0 -4.625000000000000x = 1.864864864864865 0.783783783783784 0.270270270270270(2) AA=1 0.17 -0.25 0.54;0.47 1 0.67 -0.32;.-0.11 0.35 1 -0.74;0.55 0.43 0.36 1; bb=0.3;0.5;0.7;0.9; L U x=ja51(AA

8、,bb)L =Columns 1 through 3 1.000000000000000 0 0 0.470000000000000 1.000000000000000 0 -0.110000000000000 0.400717313335507 1.000000000000000 0.550000000000000 0.365721117269862 0.318896973426907 Column 4 0 0 0 1.000000000000000U =Columns 1 through 3 1.000000000000000 0.170000000000000 -0.2500000000

9、00000 0 0.920100000000000 0.787500000000000 0 0 0.656935115748288 0 0 0 Column 4 0.540000000000000 -0.573800000000000 -0.450668405608086.0565*x =0.440888550891832 -0.363030990136447 1.166*5979 0.393567223148812 6设对称正定矩阵能作分解,其中为下三角矩阵,为的转置矩阵,试推导的元素可由下列公式确定:8作矩阵的分解(用五位小数计算)。Matlab程序:function L D=ja28(A

10、,b)n,n=size(A);L=eye(size(A);D=zeros(size(A);for i=2:1:n, A(i,1)=A(i,1)/A(1,1); for j=2:1:n, if ij; s1=0; for e1=1:1:j-1, s1=s1+A(e1,e1)*A(i,e1)*A(j,e1); end A(i,j)=(A(i,j)-s1)/A(j,j); elseif i=j, s2=0; for e2=1:1:i-1, s2=s2+A(e2,e2)*A(i,e2)*A(i,e2); end A(i,j)=A(i,j)-s2; end endendfor h=1:1:n, D(h,

11、h)=A(h,h);endfor k=2:1:n, for t=1:1:k-1, L(k,t)=A(k,t); endend题解: A=1 0.8324 0.7675 0.9831;0.8324 0.6930 0.6400 0.8190;.0.7675 0.6400 0.5911 0.7580;0.9831 0.8190 0.7580 0.0055; L D=ja28(A,b)L =Columns 1 through 3 1.000000000000000 0 0 0.832400000000000 1.000000000000000 0 0.767500000000000 10.277576

12、197394675 1.000000000000000 0.983100000000000 6.055515239480546 0.353113136417216Column 4 0 0 0 1.000000000000000D = Columns 1 through 3 1.000000000000000 0 0 0 0.000110240000000 0 0 0 -0.009600743831649 0 0 0 Column 4 0 0 0 -0.9638309236894679分别用分解法和分解法求解线性方程组。Matlab求解程序:function L D x=ja2911(A,b)n

13、,n=size(A);L=eye(size(A);D=zeros(size(A);for i=2:1:n, A(i,1)=A(i,1)/A(1,1); for j=2:1:n, if ij; s1=0; for e1=1:1:j-1, s1=s1+A(e1,e1)*A(i,e1)*A(j,e1); end A(i,j)=(A(i,j)-s1)/A(j,j); elseif i=j, s2=0; for e2=1:1:i-1, s2=s2+A(e2,e2)*A(i,e2)*A(i,e2); end A(i,j)=A(i,j)-s2; end endendfor h=1:1:n, D(h,h)=A

14、(h,h);endfor k=2:1:n, for t=1:1:k-1, L(k,t)=A(k,t); endendy(n,1)=0;x(n,1)=0;y(1,1)=b(1,1)/D(1,1);for a=2:1:n, s3=0; for e3=1:1:a-1, s3=s3+L(a,e3)*D(e3,e3)*y(e3,1); end y(a,1)=(b(a,1)-s3)/D(a,a);endx(n,1)=y(n,1);for bb=n-1:-1:1, s4=0; for e4=bb+1:1:n, s4=s4+L(e4,bb)*x(e4,1); end x(bb,1)=y(bb,1)-s4;en

15、d题解:(1)A=4 -2 -4;-2 17 10;-4 10 9; b=10;3;-7; L D x=ja2911(A,b)L = 1.000000000000000 0 0 -0.500000000000000 1.000000000000000 0 -1.000000000000000 0.500000000000000 1.000000000000000D = 4 0 0 0 16 0 0 0 1x =2 1 -1(2)A=1 0.8324 0.7675 0.9831;0.8324 0.6930 0.6400 0.8190;.0.7675 0.6400 0.5911 0.7580;0.

16、9831 0.8190 0.7580 0.0055; b=8.8997;7.4144;6.8528;4.9171; L D x=ja2911(A,b)L =Columns 1 through 3 1.000000000000000 0 0 0.832400000000000 1.000000000000000 0 0.767500000000000 10.277576197394675 1.000000000000000 0.983100000000000 6.055515239480546 0.353113136417216Column 4 0 0 0 1.000000000000000D

17、=Columns 1 through 31.000000000000000 0 0 0 0.000110240000000 0 0 0 -0.009600743831649 0 0 0Column 4 0 0 0 -0.963830923689467x = 0.999999999999501 2.000000000000462 3.000000000000151 3.999999999999999用编程求解程序:function L x=ll(A,b)n,m=size(A);L=zeros(size(A);L(1,1)=(A(1,1)(1/2);for i=2:1:n, for j=1:1:i

18、, if j=i, s2=0; for e2=1:1:i-1, s2=s2+L(i,e2)*L(i,e2); end L(i,j)=(A(i,i)-s2)(1/2); end endendy(n,1)=0;x(n,1)=0;for k=1:1:n, s3=0; for e3=1:1:k-1, s3=s3+L(k,e3)*y(e3,1); end y(k,1)=(b(k,1)-s3)/L(k,k);endx(n,1)=y(n,1);for h=n-1:-1:1, s4=0; for e4=h+1:1:n, s4=s4+L(e4,h)*x(e4,1); end x(h,1)=(y(h,1)-s4)

19、/L(h,h);end题解:(1)A=4 -2 -4;-2 17 10;-4 10 9;b=10;3;-7; L x=ll(A,b)L = 2 0 0 -1 4 0 -2 2 1x =2 1 -1(2) A=1 0.8324 0.7675 0.9831;0.8324 0.6930 0.6400 0.8190;.0.7675 0.6400 0.5911 0.7580;0.9831 0.8190 0.7580 0.0055; b=8.8997;7.4144;6.8528;4.9171; L x=ll(A,b)L =Column 1 1.000000000000000 0.8324000000000

20、00 0.767500000000000 0.983100000000000Column 2 0 0.010499523798722 0.107909655877723 0.063580026370449 Column 3 0 0 0.000000000000000 + 0.097983385487789i -0.000000000000000 + 0.034599220566370i Column 4 0 0 0 0.000000000000000 + 0.981748910714683ix =-4.230492466831677 + 5.135030281812863i 11.705472

21、294606809 - 9.528336853201315i 4.412452545669016 - 1.386673748146589i -0.000000000000000 + 3.926995642858731i10用简单迭代法解下列线性方程组。(按三位小数进行计算)Matlab程序:function x1=jacobi(A,b,x0,N,E)m,n=size(A);x(m,2)=0;x(:,2)=x0;for i=1:1:N, if max(abs(x(:,1)-x(:,2) bb=85;72;110; x0=1;1;1;jacobi(AA,bb,x0,100,0.0001)ans =

22、-1.351465849800266 11.966245114666920 -49.692619548641581(2) A=8 1 -2;3 10 1;5 -2 20; b=9;19;72; x0=1;1;1; jacobi(A,b,x0,100,0.0001)ans =1.808733564833984 1.032266759707031 3.25103835950000013用简单迭代法、塞德尔迭代法解线性方程组(个迭代五次)。并与精确解比较。Matlab程序:function x1=GS(A,b,x0,N,E)m,n=size(A);x(m,2)=0;x(:,2)=x0;for i=1:1:N, if max(abs(x(:,1)-x(:,2) x0=1;1;1;1; jacobi(A,b,x0,5,0.000001)ans =0.968000000000000 1.981270000000000 2.968640000000000 3.981290000000000 GS(A,b,x0,5,0.000001)ans =0.996552514803221 1.998599188612620 2.998420412137192 3.999357211555304与真实值比较最大误差是0.004

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

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