矩阵分解与线性方程组求解_第1页
矩阵分解与线性方程组求解_第2页
矩阵分解与线性方程组求解_第3页
矩阵分解与线性方程组求解_第4页
矩阵分解与线性方程组求解_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

本文格式为Word版,下载可任意编辑——矩阵分解与线性方程组求解一、用列主元素高斯削去法求解下述线性方程组:

?x1?13x2?2x3?34x4?13?2x?6x?7x?10x??22?1234??10x?x?5x?9x?141234????3x1?5x2?15x4??36程序:

functionx=gaussa(a)

m=size(a);n=m(1);x=zeros(n,1);fork=1:n-1

[c,i]=max(abs(a(k:n,k)));q=i+k-1;ifq~=k

d=a(q,:);a(q,:)=a(k,:);a(k,:)=dend

fori=k+1:n

a(i,:)=a(i,:)-a(k,:)*a(i,k)/a(k,k)endend

forj=n:-1:1

x(j)=(a(j,n+1)-a(j,j+1:n)*x(j+1:n))/a(j,j)end

执行过程:

>>a=[113-2-3413;26-7-10-22;-10-15914;-3-5015-36]a=

-10-1591426-7-10-22113-2-3413-3-5015-36>>gaussa(a)a=

-10.0000-1.00005.00009.000014.000005.8000-6.0000-8.2000-19.20001.000013.0000-2.0000-34.000013.0000-3.0000-5.0000015.0000-36.0000a=

-10.0000-1.00005.00009.000014.000005.8000-6.0000-8.2000-19.2000012.9000-1.5000-33.100014.4000-3.0000-5.0000015.0000-36.0000a=

-10.0000-1.00005.00009.000014.000005.8000-6.0000-8.2000-19.2000012.9000-1.5000-33.100014.40000-4.7000-1.500012.3000-40.2000

a=

-10.0000-1.00005.00009.000014.0000012.9000-1.5000-33.100014.400005.8000-6.0000-8.2000-19.20000-4.7000-1.500012.3000-40.2000a=

-10.0000-1.00005.00009.000014.0000012.9000-1.5000-33.100014.400000.0000-5.32566.6822-25.67440a=

-10.0000000a=

-10.0000000x=

00010.7786x=

0018.345210.7786x=

030.906218.345210.7786x=

14.382730.906218.345210.7786ans=

14.382730.906218.3452

-4.7000-1.000012.90000.00000-1.000012.90000.0000-0.0000-1.500012.3000-40.20005.00009.000014.0000-1.5000-33.100014.4000-5.32566.6822-25.6744-2.04650.2403-34.95355.00009.000014.0000-1.5000-33.100014.4000-5.32566.6822-25.67440-2.3275-25.087310.7786

二、用矩阵A的杜丽特尔三角分解A=LU,求解方程组:

?157010??x1??????618159??x2??010287??x?=

3?????50635??x????4??8????6??4????2???程序:

functionx=lua(a,b)

m=size(a);n=m(1);x=zeros(n,1);y=zeros(n,1);fork=1:n

a(k,k:n)=a(k,k:n)-a(k,1:k-1)*a(1:k-1,k:n);

a(k+1:n,k)=(a(k+1:n,k)-a(k+1:n,1:k-1)*a(1:k-1,k))/a(k,k);end

U=triu(a,0)

L=eye(n)+tril(a,-1)fori=1:n

y(i)=b(i)-L(i,1:i-1)*y(1:i-1);end

fori=n:-1:1

x(i)=(y(i)-U(i,i+1:n)*x(i+1:n))/U(i,i);end执行过程:

>>a=[157010;618159;010287;50635]a=

15701061815901028750635>>b=[8;6;4;2]b=8642>>lua(a,b)U=

15.00007.0000010.0000015.200015.00005.00000018.13163.710500030.7351L=

1.00000000.40001.000000

00.65791.000000.3333-0.15350.45791.0000ans=

0.52640.07180.1272-0.0399

三、用乔列斯基分解计算下述线性方程组:

00??x1??5??4?10??????0??x2??8???14?10?0?14?10??x?=?16????3???0?14?1??x4??24??0?????000?14????x5??36?程序:

functionx=choleskey(a,b)

m=size(a);n=m(1);x=zeros(n,1);y=zeros(n,1);G=zeros(m);forj=1:n

G(j,j)=sqrt(a(j,j)-G(j,1:j-1)*G(j,1:j-1)')

G(j+1:n,j)=(a(j+1:n,j)-G(j+1:n,1:j-1)*G(j,1:j-1)')/G(j,j)end

fori=1:n

y(i)=(b(i)-G(i,1:i-1)*y(1:i-1))/G(i,i);end

fori=n:-1:1

x(i)=(y(i)-G(i+1:n,i)'*x(i+1:n))/G(i,i);end运行过程:

>>a=[4-1000;-14-100;0-14-10;00-14-1;000-14]a=

4-1000-14-1000-14-1000-14-1000-14>>b=[5;8;16;24;36]b=58162436

>>choleskey(a,b)G=

2000000000000000000000000G=

2.00000000-0.5000000G=

2.0000-0.5000000G=

2.0000-0.5000000G=

2.0000-0.5000000G=

2.0000-0.5000000G=

2.0000-0.5000000G=

000001.936500001.9365-0.51640001.9365-0.51640001.9365-0.51640001.9365-0.51640000000000000000001.932200001.9322-0.51750001.9322-0.517500000000000000000000000000000000000000000000000000000000001.93192.00000000-0.50001.93650000-0.51641.93220000-0.51751.93190000-0.51760G=

2.00000000-0.50001.93650000-0.51641.93220000G=

2.0000-0.5000000ans=

2.39104.56417.865410.897411.7244

0001.9365-0.516400-0.51750001.9322-0.517501.93190-0.51761.93190000001.93190-0.51761.9319

2.00000000-0.50001.9365

温馨提示

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

评论

0/150

提交评论