文档

发票

矩阵的逆

语法

Y =发票(X)

描述

例子

Y =发票(X)计算的方阵X

  • X ^ (1)相当于发票(X)

  • x = A \ b计算方法不同于x =发票(A) * b并被推荐用于求解线性方程组。

例子

全部折叠

计算3×3矩阵的逆。

X = [10] 2;1 5 0;0 3 9)
X =3×310 2 -1 5 0 0 3 -9
Y =发票(X)
Y =3×30.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 =3×31.0000 0.0000 -0.0000 0 1.0000 -0.0000 0 -0.0000 1.0000

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

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

n = 500;Q =奥尔特(randn (n, n));d = logspace (0 -10 n);Q = *诊断接头(d) * Q ';x = randn (n, 1);b = * x;

解线性系统A * x =通过逆系数矩阵一个。使用抽搐toc获取时间信息。

i = inv(A)*b;t = toc
t = 0.1128

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

err_inv =规范(x)
err_inv = 6.1145 e-06
res_inv =规范(*得到)
res_inv = 4.9098 e-07

现在,使用反斜杠操作符求解相同的线性系统\

tic z = A\b;t1 = toc
t1 = 0.0731
err_bs =规范(z x)
err_bs = 5.0241 e-06
res_bs =规范(* azbzcx)
res_bs = 3.4124 e15汽油

反斜杠计算速度更快,并且剩余误差少几个数量级。这一事实err_inverr_bs两者的顺序是1 e-6简单地反映了矩阵的条件数。

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

输入参数

全部折叠

输入矩阵,指定为方阵。如果X是缩放不好还是几乎奇异,那么发票计算失去了数值精度。使用rcond气孔导度检查矩阵的条件数。

数据类型:|
复数的支持:万博1manbetx是的

更多关于

全部折叠

矩阵的逆

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

没有逆的矩阵是奇异的。方阵只有在其行列式为零时才是奇异的。

提示

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

算法

发票对输入矩阵进行LU分解(如果输入矩阵是厄米特矩阵,则进行LDL分解)。然后利用这些结果形成一个解为矩阵逆的线性方程组发票(X)。对于少量的输入,发票(X)创建稀疏单位矩阵并使用反斜杠,X \ speye(大小(X))

扩展功能

另请参阅

|||

之前介绍过的R2006a

这个话题有用吗?