设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1285|回复: 0

[Matlab数据分析]线性法解线性方程组

[复制链接]

13

主题

152

金钱

235

积分

入门用户

发表于 2018-8-16 10:56:29 | 显示全部楼层 |阅读模式
1.直接法或逆矩阵法

直接法解线性方程采用矩阵运算中的矩阵除法进行运算,即对于方程AX=B:
  1. X=A\ B
复制代码
而逆矩阵法则是先求逆,然后进行求解,即:
  1. X=A-1B
复制代码
例10-1,使用直接法或逆矩阵法解线性方程组示例。

在命令行窗口输入:
  1. A=magic(3)
  2. b=[71011]'
  3. x1=A\b%直接法
  4. x2=inv(A)*b%逆矩阵法
复制代码
输出结果如下:
  1. A = 8       1     6
  2.       3      5     7
  3.       4      9     2
  4.     b = 7
  5.       10
  6.       11
  7.     x1 =      0.2889
  8.         0.9556
  9.         0.6222
  10.     x2 =0.2889
  11.         0.9556
  12.         0.6222
复制代码
2.LU分解法

LU分解法(又称Gauss消去法)将系数矩阵分解为下三角矩阵和上三角矩阵的乘积,即:
  1. A=LU,L为下三角阵,U为上三角阵。
复制代码
则A*X=b变成L*U*X=b,所以X=U\(L\b),这样可以大大提高运算速度。相关的函数包括LU分解函数lu。

例10-2,使用LU分解法解方程组示例。

在命令行窗口输入:
  1. A=magic(3);
  2. b=[7 10 11]';
  3. [L,U] = lu(A)
  4. x3=U\(L\b)
复制代码
输出结果如下:
  1. L = 1.0000           0          0
  2.        0.3750      0.5441      1.0000
  3.        0.5000      1.0000           0
  4.     U = 8.0000       1.0000      6.0000
  5.                 0 8.5000     -1.0000
  6.                 0          0   5.2941
  7.     x3 =0.2889
  8.        0.9556
  9.        0.6222
复制代码
3.使用函数linsolve

该函数的简洁调用格式为:
  1. X = linsolve(A,B)
复制代码
其中,A为系数矩阵,B为方程右项常数向量或矩阵,X为求得的解。

例10-3,使用函数linsolve解方程组示例。

在命令行窗口输入:
  1. A=magic(3);
  2. b=[7 10 11]';
  3. x = linsolve(A,b)
复制代码
输出结果如下:
  1. x = 0.2889
  2.        0.9556
  3.        0.6222
复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表