教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

论文全部材料 - 图文(6)

来源:网络收集 时间:2026-03-04
导读: u(1)=b(1); for i=2:n if(u(i-1) ~=0) l(i-1)=a(i-1)/u(i-1); u(i)=b(i)-l(i-1)*c(i-1); else break; end end L=eye(n)+dig(l,-1); U=diag(u)+diag(c,l); x=zeros(n,l); y=x % 求解Ly=b y(1)=f(l); for i=2:n y(i)

u(1)=b(1); for i=2:n

if(u(i-1) ~=0)

l(i-1)=a(i-1)/u(i-1); u(i)=b(i)-l(i-1)*c(i-1); else

break; end end

L=eye(n)+dig(l,-1); U=diag(u)+diag(c,l); x=zeros(n,l); y=x

% 求解Ly=b y(1)=f(l); for i=2:n

y(i)=f(i)-l(i-1)*y(i-1); end

% 求解Ux=y if(u(n))~=0

x(n)=y(n)/u(n); end

for i=n-1:-1:1

x(i)=(y(i)-c(i)*x(i+1)/u(i)); end 3.3 应用举例

例3.1 解线性方程组:

10   0    -3?2    ??x1??10???????-4   -12   13    ?-3   ??x2??5? ??? ???1    ?x2    3   -4?2???3????4    ??x??7?14   9   -13???4???解法一 用高斯消去法得到的Matlab程序如下:

A??2 10 0 ?3;?3 ?4 ?12 13;1 2 3 ?4;4 14 9 ?13?; ; b??10 5 ?2 7?'x?gauss1(A,b),

x?

1 2 3 4

解法二 用高斯列主元消去法得到的Matlab程序如下:

A??2 10 0 ?3;?3 ?4 ?12 13;1 2 3 ?4;4 14 9 ?13?;

12

; b??10 5 ?2 7?'x?gauss2(A,b)

x?

1.0000 2.0000 3.0000 4.0000 解法三 用直接分解法得到的Matlab程序如下:

A??2 10 0 ?3;?3 ?4 ?12 13;1 2 3 ?4;4 14 9 ?13?; ; b??10 5 ?2 7?'?x1,ll,u1??nalu?A,b?;

Ans?

1 2 3 4

ll?

1.0000 0 0 0 -1.5000 1.0000 0 0 0.5000 -0.2727 1.00000 1.0000

u1?

2.0000 10.0000 0 -3.0000 0 11.0000 -12.0000 8.5000 0 0 -0.2727 -0.1818 0 0 0 -4.0000

例3.2 求解下列线性方程组

?x1?x2?x3?6???x1+3x2?x3?4 ?2x?6x?x??523?1解法一 用高斯消去法得到的Matlab程序如下:

A??1  1  1;?1 3 1;2 -6 14; -5?; ?; b??6; x=gauss1(A,b) a=

1 1 1 6 0 4 2 10 0 -8 -1 -17 a=

1 1 1 6 0 4 2 10

13

0 0 3 3 x= 3 2 1

解法二 用高斯列主元消去法得到的Matlab程序如下:

A??1  1  1;?1 3 1;2 -6 14; -5?; ?;b??6; x=gauss2(A,b) a=

2.0000 -6.0000 1.0000 -5.0000 0 0 1.5000 1.5000 0 4.0000 0.5000 8.5000 a=

2.0000 -6.0000 1.0000 -5.0000 0 4.0000 0.5000 8.5000 0 0 1.5000 1.5000 x= 3 2 1

解法三 用直接分解法得到的Matlab程序如下:

A??1  1  1;?1 3 1;2 -6 1?; [l,u]=nalu[A] l=

1 0 0 -1 1 0 2 -2 1 u=

1 1 1 0 4 2

0 0 3

例3.3 用追赶法求解下列线性方程组

14

?3  1      ??x1??1????x???2  3  1 ???2???0? ?  2   3  1??x3??1?????x???0?     1 3???4???解 追赶法求解此线性方程组的Matlab程序如下: >>a?[2,2,1]';

>>b?[3,3,3,3]'; >>c?[1,1,1]';

>>f?[1,0,1,0]';

>>[x,L,U]=thomas(a,b,c,f)

x=

21/38 -25/38 33/38 -11/38 L=

1 0 0 0

2/3 1 0 0 0 6/7 1 0 0 0 7/15 1 U=

3 1 0 0 0 7/3 1 0 0 0 15/7 1 0 0 0 38/15

4 线性方程组的迭代解法及Matlab的实现

解线性方程组时,直接法比较适用于中小型方程组,对于高阶方程组,即使系数矩阵是稀疏的,但在运算中很难保持稀疏性.与直接法相比,迭代法解线性方程组能保持矩阵的稀疏性,具有计算简单,编制程序容易的优点,并在许多情况下收敛较快,在求解阶数较高且零系数较多的大型稀疏线性代数方程组时,迭代法是很有效的.

迭代法的基本思想是对于给定的线性方程组Ax?B我们可以用不同的方法把它变为与之等价的,形为

x?Bx?f

的方程组.将上式改写成迭代式

x?k?1??Bx?k??f,

15

选定初始值x?0?反复不断地使用迭代式校正方程组根的近似值,并在此过程中求取

符合计算精度要求的方程组的近似值.本节介绍常用的雅可比迭代法、高斯—赛德尔迭代法.

4.1 雅克比(Jacobi)迭代法

设方程组:

?a11x1?a12x2?????a1nxn?b1?ax?ax?????ax?b?2112222nn2, ????an1x1?an2x2?????annxn?bn分别从上式n个方程中分离出n个变量,如下:

1?x??a12x2?????a1nxn?b1??1a?    11?1?x??????a2nxn?b2??2a??a21x1?   22?????     ????      , ????    ?1?bn??xn???an1x1?an2x2????    a?nn?    ???    其中aii?0(i?1,2,???n)建立迭代格式:

??k?1?1?k??k??k?x?    ?ax?ax?????ax?b111221331nn?a11?1??k?1??k??k?x??a21x1?k?    ?a23x3?????a2nxn?b2  ?2a22, ?????     ???      ????1??k?1??k??k?x??ax?  ???  ?ax?bnnn11nn?1n?1     ?ann???????

称为雅可比(Jacobi)迭代法又称简单迭代法. 4.2 高斯—塞德尔(Gauss — Seidel)迭代法

在Jacobi迭代中,用已有的迭代新值代替旧值,建立迭代格式:

16

…… 此处隐藏:814字,全部文档内容请下载后查看。喜欢就下载吧 ……
论文全部材料 - 图文(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/453214.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)