第一范文网 - 专业文章范例文档资料分享平台

王能超 计算方法——算法设计及MATLAB实现课后代码

来源:用户分享 时间:2025/5/23 21:33:46 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

算例19:用矩阵(LU)分解法求解线性方程组:

23??x1??1??0.001??13.7124.623??x???2?

???2??????21.0725.643????x3????3??解:令A=[0.001,2,3;-1,3.712,4.623;-2,1.072,5.643]; b=[1,2,3];

在命令窗口输入:

x=lu_decompose(A,b)

6.4 Gauss列主元消去法

用Gauss列主元消去法求解线性方程组Ax?b. MATLAB文件:(文件名:Gauss_pivot.m) function x=Gauss_pivot(A,b)

%用Gauss列主元消去法解线性方程组Ax=b %x表示未知向量 n=length(b); x=zeros(n,1); c=zeros(1,n); d1=0; for i=1:n-1

max=abs(A(i,i)); m=i;

for j=i+1:n

if max

c(k)=A(i,k);

A(i,k)=A(m,k); A(m,k)=c(k); end d1=b(i); b(i)=b(m); b(m)=d1; end

for k=i+1:n for j=i+1:n

A(k,j)=A(k,j)-A(i,j)*A(k,i)/A(i,i); end

25

b(k)=b(k)-b(i)*A(k,i)/A(i,i); A(k,i)=0; end end

%回代求解

x(n)=b(n)/A(n,n); for i=n-1:-1:1 sum=0; for j=i+1:n

sum=sum+A(i,j)*x(j); end

x(i)=(b(i)-sum)/A(i,i); end

算例20:分别用Gauss列主元消去法和Gauss消去法求解线性方程组:

?0.3?10?15?5.291 ??11.2?1??1??x1??59.17???????6.13?12??x2??46.78??

952??x3??1??????x2211????4??59.143解:令A=[0.3*10^-15,59.14,3,1;5.291,-6.13,-1,2;11.2,9,5,2;1,2,1,1]; b=[59.17,46.78,1,2]’;

在命令窗口输入:

Gauss消去法: x=lu_decompose(A,b)

Gauss列主元消去法: x=Gauss_pivot(A,b)

二者的结果比较,用Gauss列主元消去法所得的结果要更准确.

26

王能超 计算方法——算法设计及MATLAB实现课后代码.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1owos7bmde8ojit8frb8_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top