第二章解线性方程组的直接方法 matlab用法Word文件下载.docx

上传人:b****1 文档编号:15345490 上传时间:2022-10-29 格式:DOCX 页数:22 大小:179.93KB
下载 相关 举报
第二章解线性方程组的直接方法 matlab用法Word文件下载.docx_第1页
第1页 / 共22页
第二章解线性方程组的直接方法 matlab用法Word文件下载.docx_第2页
第2页 / 共22页
第二章解线性方程组的直接方法 matlab用法Word文件下载.docx_第3页
第3页 / 共22页
第二章解线性方程组的直接方法 matlab用法Word文件下载.docx_第4页
第4页 / 共22页
第二章解线性方程组的直接方法 matlab用法Word文件下载.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

第二章解线性方程组的直接方法 matlab用法Word文件下载.docx

《第二章解线性方程组的直接方法 matlab用法Word文件下载.docx》由会员分享,可在线阅读,更多相关《第二章解线性方程组的直接方法 matlab用法Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。

第二章解线性方程组的直接方法 matlab用法Word文件下载.docx

ifRA==n

因为RA=RB=n,所以此方程组有唯一解.'

else

disp('

因为RA=RB<

n,所以此方程组有无穷多解.'

例2.1.4判断下列线性方程组解的情况.如果有唯一解,则用表3-2方法求解.

(1)

(2)

(3)(4)

解在MATLAB工作窗口输入程序

>

A=[23-15;

312-7;

41-36;

1-24-7];

b=[0;

0;

0];

[RA,RB,n]=jiepb(A,b)

运行后输出结果为

因为RA=RB=n,所以此方程组有唯一解.

RA=4,RB=4,n=4

在MATLAB工作窗口输入

X=A\b,

运行后输出结果为X=(0000)’.

(2)在MATLAB工作窗口输入程序

A=[34-57;

2-33-2;

411-1316;

7-213];

b=[0;

[RA,RB,n]=jiepb(A,b)

运行后输出结果

n,所以此方程组有无穷多解.

RA=2,RB=2,n=4

(3) 在MATLAB工作窗口输入程序

A=[42-1;

3-12;

1130];

b=[2;

10;

8];

[RA,RB,n]=jiepb(A,B)

因为RA~=RB,所以此方程组无解.

RA=2,RB=3,n=3

(4)在MATLAB工作窗口输入程序

A=[21-11;

42-21;

21-1-1];

b=[1;

2;

1];

RA=2,RB=2,n=3

2.2三角形方程组的解法及其MATLAB程序

2.2.2解三角形方程组的MATLAB程序

解上三角形线性方程组的MATLAB程序

function[RA,RB,n,X]=shangsan(A,b)

n=length(b);

RB=rank(B);

X=zeros(n,1);

X(n)=b(n)/A(n,n);

fork=n-1:

-1:

1

X(k)=(b(k)-sum(A(k,k+1:

n)*X(k+1:

n)))/A(k,k);

end

例2.2.2用解上三角形线性方程组的MATLAB程序解方程组

.

A=[5-123;

0-27-4;

0065;

0003];

b=[20;

-7;

4;

6];

[RA,RB,n,X]=shangsan(A,b)

RA=RB=

4,4,

n=

4,

X=[2.4-4.0-1.02.0]’

2.3高斯(Gauss)消元法和列主元消元法及其MATLAB程序

2.3.1高斯消元法及其MATLAB程序

用高斯消元法解线性方程组的MATLAB程序

function[RA,RB,n,X]=gaus(A,b)

C=zeros(1,n+1);

forp=1:

n-1

fork=p+1:

n

m=B(k,p)/B(p,p);

B(k,p:

n+1)=B(k,p:

n+1)-m*B(p,p:

n+1);

b=B(1:

n,n+1);

A=B(1:

n,1:

n);

forq=n-1:

X(q)=(b(q)-sum(A(q,q+1:

n)*X(q+1:

n)))/A(q,q);

else

例2.3.2用高斯消元法和MATLAB程序求解下面的非齐次线性方程组,并且用逆矩阵解方程组的方法验证.

解在MATLAB工作窗口输入程序

A=[1-11-3;

0-1-11;

2-2-46;

1-2-41];

0;

-1;

-1];

[RA,RB,n,X]=gaus(A,b)

X=

0

-0.5000

0.5000

RA=

4

RB=

n=

2.3.2列主元消元法及其MATLAB程序

用列主元消元法解线性方程组的MATLAB程序

function[RA,RB,n,X]=liezhu(A,b)

[Y,j]=max(abs(B(p:

n,p)));

C=B(p,:

);

B(p,:

)=B(j+p-1,:

B(j+p-1,:

)=C;

例2.3.3用列主元消元法解线性方程组的MATLAB程序解方程组

A=[0-1-11;

1-11-3;

b=[0;

1;

-1;

[RA,RB,n,X]=liezhu(A,b)

RA=4,RB=4,n=4,X=[0-0.50.50]’

2.4LU分解法及其MATLAB程序

2.4.1判断矩阵LU分解的充要条件及其MATLAB程序

判断矩阵能否进行LU分解的MATLAB程序

functionhl=pdLUfj(A)

[nn]=size(A);

ifRA~=n

因为A的n阶行列式hl等于零,所以A不能进行LU分解.A的秩RA如下:

'

),RA,hl=det(A);

return

ifRA==n

forp=1:

n,h(p)=det(A(1:

p,1:

p));

end

hl=h(1:

fori=1:

ifh(1,i)==0

因为A的r阶主子式等于零,所以A不能进行LU分解.A的秩RA和各阶顺序主子式值hl依次如下:

),hl;

RA,return

ifh(1,i)~=0

因为A的各阶主子式都不等于零,所以A能进行LU分解.A的秩RA和各阶顺序主子式值hl依次如下:

hl;

RA

例2.4.1判断下列矩阵能否进行LU分解,并求矩阵的秩.

(1);

(2);

(3).

(1)在MATLAB工作窗口输入程序

A=[123;

1127;

456];

hl=pdLUfj(A)

RA=3,hl=110-48

(2)在MATLAB工作窗口输入程序

127;

RA=3,hl=1012

(3)在MATLAB工作窗口输入程序

123;

因为A的n阶行列式hl等于零,所以A不能进行LU分解.A的秩RA如下

RA=2,hl=0

2.4.2直接LU分解法及其MATLAB程序

将矩阵进行直接LU分解的MATLAB程序

functionhl=zhjLU(A)

因为A的n阶行列式hl等于零,所以A不能进行LU分解.A的秩RA如下:

h(p)=det(A(1:

),hl;

forj=1:

U(1,j)=A(1,j);

fork=2:

fori=2:

forj=2:

L(1,1)=1;

L(i,i)=1;

ifi>

j

L(1,1)=1;

L

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

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

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