当前位置: 首页 > news >正文

猪八戒网建设网站2500然后她叫我弄500.另外在给他2000百度官网网页版

猪八戒网建设网站2500然后她叫我弄500.另外在给他2000,百度官网网页版,宜春公司做网站,选择做印象绍兴网站的原因线性方程组求解方法2.1 求逆法实现方式例子2.2 分解法LU分解(Doolittle分解)实现方法例子QR分解法实现方法例子Cholesky 分解法实现方法例子奇异值分解法实现方法例子Hessenberg 分解实现方法例子Schur 分解实现方法例子2.3 迭代法逐次迭代法里查森迭代法…

线性方程组求解方法

  • 2.1 求逆法
      • 实现方式
      • 例子
  • 2.2 分解法
    • LU分解(Doolittle分解)
      • 实现方法
      • 例子
    • QR分解法
      • 实现方法
      • 例子
    • Cholesky 分解法
      • 实现方法
      • 例子
    • 奇异值分解法
      • 实现方法
      • 例子
    • Hessenberg 分解
      • 实现方法
      • 例子
    • Schur 分解
      • 实现方法
      • 例子
  • 2.3 迭代法
    • 逐次迭代法
    • 里查森迭代法
      • 迭代公式
      • 实现方法
      • 例子

在自然科学和工程技术中,很多问题可以归结为求解线性方程组。采用MATLAB,不仅可以利用其提供的相关函数直接解决一些简单的线性方程组,而且可以通过简洁的编程来解决一些复杂的线性方程组。

  1. 个人学习笔记
  2. 所有例子在.m文件中可实现,不可实现会添加说明

2.1 求逆法

MATLAB 中求解线性方程最直接的方法是矩阵求逆法,它适用于系数矩阵的数据无规律且系数矩阵的阶数比较小的情况。

实现方式

1. 直接用左除法
2. 使用求逆函数inv()

例子

在这里插入图片描述

A = [1 2 3;-1 3 7;9 0 3];
b = [1 4 7]';
x1 = A\b	%左除
x2 = inv(A)*b	%求逆函数

2.2 分解法

矩阵分解法是指根据一定的原理用某种算法将系数矩阵分解成若干个矩阵的代数运算,常用的分解是乘积分解,而分解后的新矩阵一般是某种特殊矩阵。
常用的分解有LU分解、QR 分解、Cholesky 分解、Schur 分解、Hessenberg 分解和奇异分解等。

LU分解(Doolittle分解)

它是将矩阵分解为一个单位下三角矩阵与上三角矩阵的乘积。只要矩阵非奇异,这种分解总是可以进行的。

实现方法

1. lu函数
2. [L,U] = lu(A)  %上三角矩阵U和下三角矩阵L,且有X = LU
3. [L,U,P] = lu(A) 	 %上三角矩阵U和下三角矩阵L,置换矩阵P,且有PA = LU

例子

在这里插入图片描述

A = [1.5 3 -0.8 4;2 0 9 10;-7 4.8 -0.6 1;14 12.3 -4 5];
b = [4 0 1 -2]';
[L,U] = lu(A);
x = U\(L\b)

QR分解法

矩阵的QR分解就是把矩阵分解为一个正交矩阵和一个上三角矩阵的乘积。

实现方法

1. [Q,R] = qr(X)  %产生一个正交矩阵Q和一个上三角阵R,使得X=QR ;
2. [Q,R,E] = qr(X)     %产生一个正交矩阵Q,一个上三角阵R以及一个置换矩阵E,使得XE=QR

例子

在这里插入图片描述

A = [1 0.5 0.3333 0.25;0.5 0.3333 0.25 0.2; 0.3333 0.25 0.2 0.1667;0.25 0.2 0.1667 0.1429];
b = [1 2 2 1]';
[Q,R] = qr(A);
x = R\(Q\b)

Cholesky 分解法

  1. 系数矩阵AAA正定且对称
  2. 它能分解为以下的形式:A=RTRA=R^TRA=RTR 。其中RRR 为上三角矩阵,RTR^TRTRRR 的转置,是下三角矩阵,这种分解称为CholeskyCholeskyCholesky分解。
  3. 如果XXX对称正定,则p=0p=0p=0;否则, ppp 为一正整数。如果XXX 满秩, RRR 是为p−1p-1p1阶的上三角矩阵,且有RTR=X(1:(p−1),1:(p−1))R^TR=X(1:(p-1),1:(p-1))RTR=X(1:(p1),1:(p1));实现分解后,方程组的解写成x=R(R’\b) 的形式。

实现方法

1.R=chol(X)  %对X进行Cholesky 分解,使得$X=R^TR$;
2.[R,p]=chol(X)  %对X进行Cholesky 分解,使得$X=R^TR$;

例子

在这里插入图片描述

A=[9 -36 30;-36 192 -180;30 -180 180];
b=ones(3,1);
R=chol (A)
X=R\(R'\b)

注意:

%矩阵A正定但不对称时,程序同样能跑出来,但这时我们验证一下发现“R'R不等于A”
A=[9 -36 30;-36 192 -180;31 -180 180];
b=ones(3,1);
R=chol (A) %输出R矩阵
R'  %输出矩阵R的转置
A   %输出矩阵A
B = R'*R    %验证矩阵B是否等于矩阵A?看结果
X=R\(R'\b)  %输出解向量

在这里插入图片描述

奇异值分解法

  1. 奇异值分解很有用,将系数矩阵进行奇异值分解以后,AAA 的奇异值都在SSS的对角线上,这样就可以粗略估计AAA的条件数,看看AAA是否是病态矩阵,以此决定相应的求解方法;
  2. 如果系数矩阵对称,那么奇异值分解后的UUUVVV都是正交矩阵,而SSS是对角矩阵,这样求解方程就十分方便。

实现方法

[U,S,V] =svd(A) 	%奇异值分解,使得A=U*S*V'

例子

在这里插入图片描述

A=[ 1.0000 0.5000 0.3333 0.2500 0.2000;0.5000 0.3333 0.2500 0.2000 0.1667; 0.3333 0.2500 0.2000 0.1667 0.1429; 0.2500 0.2000 0.1667 0.1429 0.1250;0.2000 0.1667 0.1429 0.1250 0.1111]; 
[U,S,V]=svd(A)
b=[1 0 1 0 1]';
x1=V*inv(S)*U*b   %函数求逆
x2=V/S*U*b	%左除求逆

Hessenberg 分解

  1. Hessenberg 矩阵指的是第一子对角线以下的元素为0的矩阵
  2. Hessenberg 分解法分解后产生正交矩阵和Hessenberg 矩阵,正交矩阵的逆就是其转置; 如果系数矩阵对称的话,产生的Hessenberg矩阵就是三对角矩阵,这种矩阵的求逆速度也很快,因此用这种方法求解线性方程组很快

实现方法

[P,H] = hess(A) %Hessenberg分解,使得A = P*H*P',其中P为酉矩阵

例子

在这里插入图片描述

A=[1 1 1 1;1 2 3 4;1 3 6 10;1 4 10 20];
b = [1 4 7 -2]';
[P,H] = hess(A)
x = P/H*P'*b

Schur 分解

实现方法

  1. Schur 矩阵是上三角阵,且其对角元素为被分解矩阵的特征值。
  2. Schur 分解法在分解后产生正交矩阵和Schur 矩阵,如果系数矩阵对称的话,产生的Schur 矩阵就是对角阵,显然对角阵的逆矩阵非常容易得到,因此用这种方法求解线性方程组也很快。
[U,T] = schur(A)     %Schur分解,使得A=U*T*U',其中U为正交矩阶,T为Schur矩阵

例子

在这里插入图片描述

tic		%计时器-头部
A=[1 1 1 1;1 2 3 4;1 3 6 10;1 4 10 20];
b = [1 4 7 -2]';
[U,T] = schur(A)
x = U/T*U'*b
toc     %计时器-结尾

2.3 迭代法

  1. 适用于阶数很高或零元素多的矩阵!
  2. 迭代法是将求一组解转换为求一个近似解序列的过程,并用最终的近似解来逼近真实解。
  3. 迭代法需要考虑以下3个重要的问题。
    (1) 迭代的初始值
    (2) 迭代算法
    (3) 迭代的收敛性

逐次迭代法

在这里插入图片描述

里查森迭代法

迭代公式

xk+1=(I−A)xk+bx _ { k + 1 } = ( I - A ) x _ { k } + bxk+1=(IA)xk+b

实现方法

[x,n] =richason(A, b, xO, eps, M)	%用里查森迭代法求线性方程组Ax=b的解。

在这里插入图片描述

function [x,n]=richason(A,b,x0,eps,M)
% 采用里查森迭代法求线性方程组Ax=b的解
% 线性方程组的系数矩阵: A
% 线性方程组中的常数向量: b
% 迭代初始向章: x0
% 解的精度控制: eps
% 迭代步数控制: M
% 线性方程组的解: x
% 求出所需精度的解实际的迭代步数: n
if(nargin == 3)eps = 1.0e-6 ;  % eps 表示迭代精度M = 200;    % M 表示迭代步数的限制值
elseif(nargin == 4)M = 200;
end
I =eye(size(A));
x1 = x0;
x=(I-A)*x0+b;
n =1;
%迭代过程
while(norm(x-x1)>eps)x1 = x;x = (I-A)*x1+b;n = n + 1;if(n >= M)disp('warnning:迭代次数太多,可能不收敛!');return;end
end

例子

在这里插入图片描述

A = [1.017 -0.0092 -0.0095;-0.0092 0.9903 0.0136;-0.0095 0.0136 0.9898];
b = [1 0 1]';
x0 = [0 0 0]';
[x,n] = richason(A,b,x0)
http://www.tj-hxxt.cn/news/1369.html

相关文章:

  • 做网站如何盈利湖南企业竞价优化服务
  • 网站前期推广乔拓云网站注册
  • 开发公司出售没有规划内房屋徐州seo网站推广
  • 徐州网络推广公司百度关键词自然排名优化公司
  • 梅州市网站制作最成功的网络营销案例
  • 制作公司网站的费用seo引擎搜索
  • .net 接单网站域名查询ip爱站网
  • 深圳公司开发网站关键词爱站网
  • 单页营销网站怎样做搜索引擎推广
  • 网站建设是什么软件舟山seo
  • 建立网站时要采用一定的链接结构网站平台搭建
  • phpcms移动端网站怎么做浏阳廖主任打人案
  • 做衣服网站有哪些常见的微信营销方式有哪些
  • 电子商城网站开发公司seo黑帽技术工具
  • 甘肃党风廉政建设办网站网络优化的基本方法
  • 1668批发官网南京seo新浪
  • 做网站的收益在哪济南全网推广
  • 建设银行官方网站网页版网站定制的公司
  • 有关网站开发的知识百度站长工具网站提交
  • 山西大同专业网站建设制作价格十大微商推广平台
  • wordpress后台添加友情链接seo外链推广员
  • 关键词搜索引擎优化推广深圳网站seo哪家快
  • 有什么可以做兼职的正规网站凡科建站的免费使用
  • 网站后台安装哪个公司做网站推广最好
  • 教做衣服网站seo关键词优化费用
  • 怎么登陆自己的公司网站百度关键词排名突然消失了
  • 关于推进政府网站集约化建设的通知亚马逊的免费网站
  • 副标题wordpress厦门seo优
  • 对自己做的网站总结信息流广告案例
  • 做网站架构需要什么工具网络营销师培训费用是多少