消元法实验报告13.doc西京学院数学软件实验任务书
课程名称
数学软件实验
班级
数 0901
学号
0912020114
姓名
王斌
实验课题
线性方程组直接三角分解法(Doolittle分解,Grout 分解),平方根法(Cholesky分解,LDLT分解)
实验目的
熟悉线性方程组直接三角分解法(Doolittle分解,
Grout分解),平方根法(Cholesky分解,LDLT分解)
实验要求
运用 Mat 1 ab/C/C++/Java/Map 1 e/Mathematica 等其中
一种语言完成
实验内容
线性方程组直接三角分解法(Doolittle分解,Grout
分解)
线性方程组平方根法(Cholesky分解,LDLT分解)
成绩
教师
线性方程组的直接三角分解法(Doolittle分解)
设A为非奇异矩阵,且有分解式A=LU,其中L为单
位下三角矩阵,U为上三角矩阵,则称此分解为Doolittle
分解。此分解的目的是将Ax=b分解为两步,首先由Ly=b
解出y,再由Ux=y解出x。以下为实现此分解的程序:
function[x,u]=Doolittle(A,b) clc clear all format short
n=input ('请输入矩阵的阶数:');
A=zeros(n,n);
for i=l:n
for j=l:n
A (i, j ) =input (,请输入矩阵中的元素:* );
end
end
A
if det(A)~=0
for i=l:n
b (i) =input ( 1请输入b中的元素:');
end
b=b*
u=zeros(n,n);
l=eye(n,n);
u(1, :)=A(1,:);
for i=2:n
for m=l
1(i,m)=A(iAm)/u(lz1);
for k=2:n
for j=k:n
u(k,j)=A(k,j)-sum(1(kfl:k-l)*u(l:k-lA j));
for k=2:n-1
1(k+l:n,k)=(A(k+l:n,k)-sum(1(k+l:n,1:k-1)*u(1:k-1,k)))/u (k, k);
end
end
end
end
u
1
end
y=zeros (n,1);
y (l)=b(l);
for k=2:n
y(k)=b(k)-l(k,l:k-l)*y(l:k-l);
end
x=zeros(n,1);
x (n) =y (n) /u (n, n);
for k=n-l:-1:1
x(k) = (y(k) - u(k,k+l:n) *x (k+l: n) ) /u(k,k);
end
end
end
此程序运行时,首先输入一个系数矩阵A,和列向量b
如果系数矩阵A是非奇异矩阵,则矩阵最后可求得A分
解后的矩阵L和矩阵U,以及列向量X。以下是运行结果:
Command W indow
3
1 -1
3
2 -4 64 -9 2
请输入矩B车的盼数 请输入矩B车的元素 请输入矩B车的元素 请输入矩E车的元素 请输入矩B车的元素 请输入矩8车的元素 请输入矩B车的元素 请输入矩B车的元素 请输入矩B车的元
消元法实验报告13 来自淘豆网m.daumloan.com转载请标明出处.