西京学院数学软件实验任务书
课程名称
数学软件实验
班级
***
学号
***
姓名
***
实验课题
高斯列主元消元法;线性方程组直接三角分解法;追赶法
实验目的
熟悉线性方程组直接三角分解法(Doolittle分解,与列主元和追赶法思想。
实验要求
运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成。
实验内容
线性方程组直接三角分解法(Doolittle分解LU分解)
线性方程组列主元法和追赶法)。
成绩
教师
实验名称:用高斯消元法(列主元)、直接三角分解法、追赶法解线性方程组
实验目的:1、了解解方程的思想与方法
2、学习几种常见的算法
算法描述:通过将方程组的形式写成矩阵形式求解,对矩阵进行行列变换使成为三角矩阵。进行回代由此解出方程组的解。
实验程序一:列主元消去法
clear
A=input('请输入系数矩阵A:');
b=input('请输入b向量(按行向量):');
B=[A b'];
n=length(b);
RA=rank(A);
RB=rank(B);
zhica=RB-RA;
if zhica>0
disp('请注意:RA=RB,所以此方程组无解\n')
return
end
if RA==RB
if RA==n
fprintf('请注意:因为 RA=RB=%d,所以此方程组有唯一解\n',n);
X=zeros(n,1);
for p=1:n-1
t=find(abs(B(p:end,p))==max(abs(B(p:end,p))))+p-1;
if abs(B(t,p))~=abs(B(p,p))
l=B(t,:);
B(t,:)=B(p,:);
B(p,:)=l;
end
%列主元判断
for k=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);
end
end
%把方程组系数矩阵A化为同解上三角矩阵
b=B(1:n,n+1);
A=B(1:n,1:n);
X(n)=b(n)/A(n,n);
for q=n-1:-1:1
X(q)=(b(q)-sum(A(q,q+1:n)*X(q+1:n)))/A(q,q);
end
%从XN至X1逐个求解上三角方程组
else
disp('请注意;因为RA=RB<n,所以此方程组有无穷多解')
return
end
end
disp('方程组的解为:');
X
用追赶法求解三对角方程组
实验目的
会使用Matlab语言编程使用追赶法求解线性方程组。
实验原理
设系数矩阵为三对角矩阵
则方程组Ax=f称为三对角方程组。
设矩阵A非奇异,A有Crout分解A=LU,其中L为下三角矩阵,U为单位上三角矩阵,记
可先依次求出L,U中的元素后,令Ux=y,先求解下三角方程组Ly=f得出y,再求解上三角方程组Ux=y。
事实上,求解三对角方程组的2追赶法将矩阵三角分解的计算与求解两个三角方程组的计算放在一起,
消元法实验报告 来自淘豆网m.daumloan.com转载请标明出处.