作业帮 > 数学 > 作业

matlab用列主元高斯消去法解方程组,

来源:学生作业帮 编辑:神马作文网作业帮 分类:数学作业 时间:2024/11/11 05:10:41
matlab用列主元高斯消去法解方程组,
matlab用列主元高斯消去法解方程组     
写出理论知识、设计思路、算法步骤(或流程图);
写出程序清单(加上必要的注释);
写出程序运行操作过程与输出结果;
写出对计算过程与结果的分析(如误差分析,收敛性,稳定性,计算量,方法比较等);各设计的优缺点(如特色,自己最满意之处,需改进的地方等)

要求有上面那些内容,
matlab用列主元高斯消去法解方程组,
一、
实验名称:
线性方程组高斯消去法.

二、
实验目的:
进一步熟悉理解
Guass
消元法解法思路,提高
matlab
编程能力.

三、
实验要求:
已知线性方程矩阵,
利用软件求解线性方程组的解.

四、
实验原理


消元过程:


0
)
0
(
11

a
,令乘数
)
0
(
11
)
0
(
1
1
/
a
a
m
i
i


,做(消去第
i
个方程组的
i
x

操作
1
i
m
×第
1
个方程
+

i
个方程(
i=2
,
3
,
.n


则第
i
个方程变为
1
)
1
(
2
)
1
(
2
...
i
n
in
i
b
x
a
x
a




这样消去第
2
,
3
,
.
.
.
,
n
个方程的变元
i
x
后.原线性方程组变
为:



















)
1
(
)
1
(
2
)
1
(
2
)
1
(
2
)
1
(
2
2
)
1
(
22
)
0
(
1
)
0
(
1
1
)
0
(
11
...

.


.


...

...
n
n
nn
n
n
n
n
n
b
x
a
x
a
b
x
a
x
a
b
x
a
x
a

这样就完成了第
1
步消元.

回代过程:

在最后的一方程中解出
n
x
,得:
)
1
(
)
1
(
/



n
nn
n
n
n
a
b
x

再将
n
x
的值代入倒数第二个方程,
解出
1

n
x
,
依次往上反推,

可求出方程组的

其通项为
3,...1
-
n
2,
-
n
k

/
)
(
)
1
(
1
)
1
(
)
1
(









k
kk
n
k
j
j
k
kj
k
k
k
a
x
a
b
x

五、实验内容:

function
maintest2
clc
clear
all

A=[1 3 4;2 4 5;1 4 6];
%
系数矩阵

b=[1 7 6]'
%
常数项

num=length(b)
for
k=1:num-1




for
i=k+1:num








if
A(k,k)~=0












l=A(i,k)/A(k,k);







A(i,:)=A(i,:)-A(k,:).*l;







b(i)=b(i)-b(k)*l;








end














end

end

A
b
%
回代求
x
x(num)=b(num)/A(num,num);
for
i=num-1:-1:1




sum=0;




for
j=i+1:num








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




end





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

x
End
六、实验结果:

A =




1.0000



3.0000



4.0000









0


-2.0000


-3.0000









0








0



0.5000
b =




1.0000




5.0000




7.5000
x =




16


-25



15