精华内容
下载资源
问答
  • Python解线性方程组的直接(5)————平方根法求解线性方程
    2020-10-12 10:34:53

    平方根法求解线性方程组

    import numpy as np
    
    
    def pingfagenfa(a):
        n = a.shape[0]
        g = np.mat(np.zeros((n, n), dtype
    更多相关内容
  • 数值分析老师留的程序作业 用平方根法求解方程组 代码简单 很好的实现了平方根法 求解难题
  • 利用对称正定矩阵的乔累斯基分解求解对称正定方程组的方法称为平方根法 对称正定矩阵A的对角元为正 实对称矩阵A正定的充要条件是A的所有特征值为正 对称正定矩阵非奇异,其逆...平方根法解线性方程组,输出L矩阵和根 %.
    • 利用对称正定矩阵的乔累斯基分解求解对称正定方程组的方法称为平方根法
    • 对称正定矩阵A的对角元为正
    • 实对称矩阵A正定的充要条件是A的所有特征值为正
    • 对称正定矩阵非奇异,其逆亦为对称正定矩阵
    • 实对称矩阵A正定的充要条件是A的所有顺序主子式为正
    • 正定矩阵的顺序主子阵是正定的
    • Cholesky分解较一般的LU分解乘除法计算量小得多。它所需要的乘除次数约为(n^3)/6数量级,差不多比LU分解节省一半的工作量,但要进行n次开方运算
    • (比高斯法更稳定,不需要选主元)
    %% 0.平方根法解线性方程组,输出L矩阵和根
    %% 1.对称正定矩阵的Cholesky分解
    %对称正定矩阵A存在唯一的对角元素均为正数的下三角矩阵L,使得A=L*L(转置)
    %这种分解叫做Cholesky分解
    A=[3,3,5;3,5,9;5,9,17];
    b=[0;-2;-4];
    %判断矩阵A是否对称正定,对称+所有顺序主子式为正
    L=zeros(3);
    %求下三角矩阵L
    L(1,1)=sqrt(A(1,1));%L11
    L(2,1)=A(2,1)/L(1,1);%L21
    L(3,1)=A(3,1)/L(1,1);%L31
    L(2,2)=sqrt(A(2,2)-L(2,1)*L(2,1));%L22
    L(3,2)=(A(3,2)-L(3,1)*L(2,1))/L(2,2);%L32
    L(3,3)=sqrt(A(3,3)-L(3,1)*L(3,1)-L(3,2)*L(3,2));%L33
    L%输出L矩阵
    %% 2.由Ly=b得到y
    y=L\b;
    %% 3.由L_转置*x=y得到方程组的解x
    x=L'\y%输出线性方程组的根
    

    运行结果:
    在这里插入图片描述
    其中y矩阵:
    在这里插入图片描述
    利用MATLAB内置函数chol

    %% 0.平方根法解线性方程组,输出L矩阵和根
    %% 1.对称正定矩阵的Cholesky分解
    %对称正定矩阵A存在唯一的对角元素均为正数的下三角矩阵L,使得A=L*L'
    %这种分解叫做Cholesky分解
    A=[3,3,5;3,5,9;5,9,17];
    b=[0;-2;-4];
    %L=chol(A,'lower')基于矩阵A的对角线和下三角形生成下三角矩阵L,满足方程L*L'=A
    L=chol(A,'lower')
    %% 2.由Ly=b得到y
    y=L\b;
    %% 3.由L_转置*x=y得到方程组的解x
    x=L'\y%输出线性方程组的根
    

    如果矩阵A不是对称的,则 chol 使用上三角的(复共轭)转置作为下三角。

    展开全文
  • 平方根法解如下方程组• 法一:clearclcA=input('输入对称正定矩阵A=')B=input('输入自由项B=')n=length(A(:,1));for k=1:nif (det(A(1:k,1:k))<=0)input('矩阵不是正定矩阵,请重新运行程序')endend%分解A=L*L'...

    平方根法解如下方程组

    • 法一:

    clear

    clc

    A=input('输入对称正定矩阵A=')

    B=input('输入自由项B=')

    n=length(A(:,1));

    for k=1:n

    if (det(A(1:k,1:k))<=0)

    input('矩阵不是正定矩阵,请重新运行程序')

    end

    end

    %分解A=L*L'

    for i=1:n

    t=0;

    for s=1:i-1

    t=t+L(i,s)^2;

    end

    L(i,i)=sqrt(A(i,i)-t);

    for k=i+1:n

    tt=0;

    for s=1:i-1

    tt=tt+L(i,s)*L(k,s);

    end

    L(k,i)=(A(k,i)-tt)/L(i,i);

    end

    end

    %分解AX=B为Ly=B Lx=y

    %求y

    for i=1:n

    ttt=0;

    for k=1:i-1

    ttt=ttt+L(i,k)*y(k);

    end

    y(i)=(B(i)-ttt)/L(i,i);

    end

    %求x

    for i=n:-1:1

    tttt=0;

    for k=i+1:n

    tttt=tttt+L(k,i)*x(k);

    end

    x(i)=(y(i)-tttt)/L(i,i);

    end

    x' %若要成行向量输出此处用x即可

    运行结果:

    • 法二:

    function pngfanggen(n)

    A=[4 2 -4 0 2 4 0 0;

    2 2 -1 -2 1 3 2 0;

    -4 -1 14 1 -8 -3 5 6;

    0 -2 1 6 -1 -4 -3 3;

    2 1 -8 -1 22 4 -10 -3;

    4 3 -3 -4 4 11 1 -4;

    0 2 5 -3 -10 1 14 2;

    0 0 6 3 -3 -4 2 19];

    B = [0 -6 20 23 9 -22 -15 45];

    L=zeros(8,1);

    for j=1:n

    L(j,j)=sqrt(A(j,j)-sum(L(j,:)*L(j,:)'));

    for i=j+1:n

    L(i,j)=(A(i,j)-sum(L(i,:)*L(j,:)'))/L(j,j);

    end

    end

    Y=zeros(1,n);

    for i=1:n

    Y(i)=(B(i)-sum(L(i,:)*Y'))/L(i,i);

    end

    X(n)=Y(n)/L(n, n);

    for i=n-1:-1:1

    X(i)=(Y(i)-sum(L(:,i)'*X'))/L(i,i);

    end

    disp('平方根法求得L=');

    disp(L);

    disp('该线性方程组的解为X=');disp(X');

    end

    运行结果:

    展开全文
  • matlab平方根法和改进平方根法求解线性方程组例题与程序文件.doc
  • 这是数值计算第二章的第六个程序---平方根法解线性方程组。
  • 教你如何使用C语言编写用平方根法求解线性方程组的程序。
  • 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 %---...

    %定理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

    展开全文
  • 本篇文章介绍解线性方程组的平方根法及改进平方根法,适用范围为系数矩阵为正定Hermite矩阵(下称H阵)的线性方程组。这个方法的理论依据我觉得是来自Schur引理的H阵结构定理,从这个角度我们就可以理解课程上教授的...
  • 平方根法(Cholesky分解)解线性方程组 包括程序代码和结果分析 平方根法需要将矩阵做Cholesky分解,化为两个三角方程组求解。 % 平方根法(Cholesky分解)解线性方程组Ax=b % A为方程组系数矩阵, b是方程组右端向量...
  • 用Matlab实现平方根法和改进的平方根法线性方程
  • MATLAB-平方根法和改进平方根法求解线性方程组例题与程序演示教学.pdfMATLAB-平方根法和改进平方根法求解线性方程组例题与程序演示教学.pdfMATLAB-平方根法和改进平方根法求解线性方程组例题与程序演示教学....
  • 背景:应用有限元求解结构力学问题时,最后归结为求解线性方程组,该系数矩阵大多具有对称正定性质。平方根法就是利用对称正定的三角分解求解对称正定方程组的一种有效方法。 前提:系数矩阵A为对称矩阵,且A的...
  • 1、2)设对称正定阵系数阵线方程组 2、 数学原理1、 平方根法解n阶线性方程组Ax=b的choleskly方法也叫做平方根法,这里对系数矩阵A是有要求的,需要A是对称正定矩阵,根据数值分析的相关理论,如...
  • 平方根法求解正定矩阵的线性方程组的Python实现 定理:对线性方程组Ax=b,若A唯正定矩阵,则有唯一分解A=LU,且U的对角线元素大于0,而U可以进一步分解为一个对角矩阵D与一个上三角矩阵的乘积,设为U=DM,进而A=LDM...
  • 平方根法解线性方程(c++)

    千次阅读 2010-10-07 10:13:00
    #include #include #include int k;const int n=4;using namespace std;double q_s1(double array[][n],int i,int j);double q_s2(double array[][n],int j);double q_s3(double array[][n],double
  • matlab改进平方根法

    2021-04-19 05:28:53
    中求方程的近似根( 第七讲 MATLAB 中求方程的近似根() 教学目的: 学习 matlab 中求根命令,了解代数方程求根求解的四种方法,即图解法、 教学目的:准解析、......安装 MATLAB 的根目录 第二章 类型转换函数 Single...
  • 2,0,TX2、数学原理1、平方根法解N阶线性方程组AXB的CHOLESKLY方法也叫做平方根法,这里对系数矩阵A是有要求的,需要A是对称正定矩阵,根据数值分析的相关...
  • 改进平方根法求解方程组(C语言)

    千次阅读 2018-02-10 10:37:30
    编写用改进平方根法解方程组 的程序,并解下列方程组: #include&lt;stdio.h&gt; main() { float x[6],y[8]; int i; float a[6][7]={0.5,-0.5,0,0,0,0,-1, -0.5,1.5,-0.5,-0.25,0.25,0,0, ...
  • MATLAB提供了许多矩阵函数。正是因为拥有了为数众多的、完善的矩阵函数,才使得MATLAB具有了强大的功能。
  • 这个代码很方便,输入任意的方程组,使用平方根法都能求解
  • MATLAB平方根法和改进平方根法求解线性方程组例题与程序要点(2)设对称正定阵系数阵线方程组数学原理平方根法解n阶线性方程组Ax=b的choleskly方法也叫做平方根法,这里对系数矩阵A是有要求的,需要A是对称正定矩阵,...
  • 由于求解上三角或下三角线性方程组很容易所以在解线性方程组时,可将系数矩阵分解为下三角矩阵和上三角矩阵。其中下三角矩阵的主对角线为1,上三角矩阵的对角线元素非零。有如下定理:如果非奇异矩阵A可表示为下三角...
  • 详细过程见《数值计算方法》 题目: C++题解: #include <iostream> #include <cstdio> #include <queue> #include <cstring> #include <cmath>...double temp[105 * 1

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,101
精华内容 2,040
关键字:

平方根法解线性方程