文档

发票

矩阵的逆

语法

Y = inv(X)

描述

例子

Y = inv(X计算方阵的X

  • X ^ (1)等于发票(X)

  • x = A\b的计算方式与x = inv(A)*b推荐用于求解线性方程组。

例子

全部折叠

计算一个3 × 3矩阵的逆矩阵。

X = [1 0 2];-1 5 0;[3 -9]
X =1 0 2 -1 5 0 0 3 -9
Y = inv(X)
Y =0.8824 -0.1176 0.1961 0.1765 0.1765 0.0392 0.0588 0.0588 -0.0980

检查结果。理想情况下,Y * X产生单位矩阵。自发票执行矩阵反演使用浮点计算,在实践中Y * X接近,但不完全等于,单位矩阵眼睛(大小(X))

Y * X
ans =1.0000 0 -0.0000 0 1.0000 -0.0000 0 1.0000

检查为什么求解线性系统通过逆矩阵使用发票(一)* b不如直接用反斜杠运算符求解,x = A\b

创建一个随机矩阵一个500阶的,它的构造使得它的条件数,气孔导度(A),是1 e10汽油,以及它的标准,规范(一),是1.确切的解x是一个长度为500的随机向量,右边是b = A*x.因此,线性方程组的条件很差,但却是一致的。

N = 500;Q = north (randn(n,n));D = logspace(0,-10,n);A = Q*diag(d)*Q';X = randn(n,1);b = A*x;

求解线性方程组A*x = b通过对系数矩阵求逆一个.使用抽搐toc获取计时信息。

tic y = inv(A)*b;T = toc
T = 0.1225

求出计算的绝对误差和残差。

Err_inv = norm(y-x)
Err_inv = 5.1386e-06
res_inv = norm(A*y-b)
Res_inv = 6.0421e-07

现在,使用反斜杠运算符求解相同的线性系统

tic z = A\b;T1 = toc
T1 = 0.1080
Err_bs = norm(z-x)
Err_bs = 3.9471e-06
res_bs = norm(A*z-b)
Res_bs = 3.7539e-15

反斜杠的计算速度更快,残差减少了几个数量级。事实是err_inverr_bs都是1 e-6简单地反映了矩阵的条件数。

这个例子的行为是典型的。使用一个\ b而不是发票(一)* b速度快两到三倍,并产生与数据大小有关的机器精度数量级的残差。

输入参数

全部折叠

输入矩阵,指定为方阵。如果X是严重缩放或近似奇异的,那么发票计算失去了数值精度。使用rcond气孔导度来检查矩阵的条件数。

数据类型:|
复数支持:金宝app是的

更多关于

全部折叠

矩阵的逆

一个矩阵X如果存在矩阵是可逆的吗Y大小相同的 X Y Y X n ,在那里 n n——- - - - - -n单位矩阵。矩阵Y的倒数X

一个没有逆的矩阵是奇异的。一个方阵只有当它的行列式为零时才是奇异的。

提示

  • 很少需要构造矩阵的显式逆。经常误用发票在解线性方程组时出现斧头b.解方程的一种方法是x = inv(A)*b.从执行时间和数值精度的角度来看,更好的方法是使用矩阵反斜杠操作符x = A\b.这产生了使用高斯消去的解决方案,没有明确地形成逆。看到mldivide获取更多信息。

算法

发票执行输入矩阵的LU分解(如果输入矩阵是厄米矩阵,则执行LDL分解)。然后利用结果形成一个线性系统,其解是矩阵的逆发票(X).对于稀疏输入,发票(X)创建一个稀疏单位矩阵并使用反斜杠,X \ speye(大小(X))

扩展功能

另请参阅

|||

R2006a之前引入

这个话题有帮助吗?