平方根法和改进的平方根法解线性方程组(Matlab程序)

原创 2012年03月30日 18:39:52


%定理2.2.3:对阵正定矩阵的楚列斯基(Cholesky)分解
%设A为n阶对阵正定矩阵,则存在一个可逆的下三角矩阵G,使得
%A=GG’,当限定G的对角元为正时,这种分解是唯一的

%--------A=GG’的分解算法-------
%参考教材:《数值分析》李乃成,梅立泉,科学出版社
clear;clc;
A=[9,18,9,-27;
  18,45,0,-45;
  9,0,126,9;
  -27,-45,9,135];
b=[1 2 16 8]';
n=length(b);%方程个数n
G=zeros(n,n);
G(1,1)=sqrt(A(1,1));
G(2:n,1)=A(2:n,1)/G(1,1);
for j=2:n-1
    G(j,j)=sqrt(A(j,j)-sum(G(j,1:j-1).^2));
    for i=j+1:n
        G(i,j)=(A(i,j)-sum(G(i,1:j-1).*G(j,1:j-1)))/G(j,j);
    end
end
G(n,n)=sqrt(A(n,n)-sum((G(n,1:n-1)).^2));
G
%--------用A=GG’分解求解方程组Ax=b(平方根法)----
%Gy=b,G'x=y;
x=zeros(n,1);%未知向量
y=zeros(n,1);%中间向量
y(1)=b(1)/G(1,1);
for i=2:n
    y(i)=(b(i)-sum(G(i,1:i-1)'.*y(1:i-1)))/G(i,i);
end
y
%---------由G'x=y求出x----------
%方法类似于U由x=y解出x
G=G';
x(n)=y(n)/G(n,n);
for i=n-1:-1:1
    x(i)=(y(i)-sum(G(i,i+1:n)'.*x(i+1)))/G(i,i);
end
x

 

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Matlab矩阵分解

矩阵分解是指根据一定的原理用某种算法将一个矩阵分解成若干个矩阵的乘积。常见的矩阵分解有LU分解(三角分解)、QR分解(正交变换)、Cholesky分解,以及Schur分解、Hessenberg分解、奇...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

求解三对角方程组的追赶法(Matlab程序)

clear all;clc; fprintf('输入n:(10,20,30)\n'); n=input(''); n a=zeros(1,n);b=zeros(1,n);c=zeros(1,n...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Cholesky分解法

Cholesky分解法又叫平方根法,是求解对称正定线性方程组最常用的方法之一。对于一般矩阵,为了消除LU分 解的局限性和误差的过分积累,采用了选主元的方法,但对于对称正定矩阵而言,选主元是不必要的。 ...

平方根法求解线性方程组(C++实现)

背景:应用有限元法求解结构力学问题时,最后归结为求解线性方程组,该系数矩阵大多具有对称正定性质。平方根法就是利用对称正定的三角分解求解对称正定方程组的一种有效方法。 前提:系数矩阵A为对称矩阵,且A...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:平方根法和改进的平方根法解线性方程组(Matlab程序)
举报原因:
原因补充:

(最多只允许输入30个字)