zoukankan      html  css  js  c++  java
  • 奇异矩阵

    奇异矩阵

    • |A|=0;
    • A可逆 <=> |A| != 0,即A是非奇异矩阵

    用inv进行矩阵求逆时,出现矩阵奇异的情况。报错:Warning: Matrix is singular to working precision. 只需将inv替换为pinv求伪逆即可。

    特点

    • 对于方阵A,如果为非奇异方阵,则存在逆矩阵inv(A)
    • 对于奇异矩阵或者非方阵,并不存在逆矩阵,但可以使用pinv(A)求其伪逆;

    很多时候你不需要求逆矩阵,例如:

    • inv(A)*B 实际上可以写成 AB;
    • B*inv(A) 实际上可以写成B/A;

    这样比求逆之后带入精度要高。

    关于 inv 或 /

    inv

    Y=inv(X) 返回方阵X的逆矩阵,如果X病态或者高度奇异,则会显示警告信息。
    实际上,很少需要真的把矩阵的逆求出来,常见的使用失误主要出现在求解线性方程组AX=b。一种求解方法为x=inv(A)*b,但如要达到更快,更稳定,就得用X=A。这个算法使用高斯消去法,因此不产生逆矩阵。

    矩阵左除

    1. 如果A是方阵,AB近似等于inv(A)*B,只是他们的算法不一样;
    2. 如果A是 nxn 的方阵,B是 nx1 的列向量,或 nxn 的矩阵,那么X=ABAX=B的解;
    3. 如果A很病态或者很奇异,很会显示警告信息;用AEYE(SIZE(A))计算A的逆,参见mldivide,可得到更多信息;
    4. 如果A是 mxn 的矩阵,m != n,B是 mx1 或 mxn 的列向量,那么 X=AB 就是线性方程组 AX=B(超定或者欠定)的最小二乘解
    5. Asolution X is computed that has at most k nonzero componentspercolumn;如果K<N,结果通常和pinv(A)*B不一样,后者是最小范数解。AEYE(SIZE(A))用来求解A的广义逆。
  • 相关阅读:
    Educational Codeforces Round 66 (Rated for Div. 2)
    数学模板整理
    多项式全家桶
    [Scoi2016]背单词(trie+贪心)
    Codeforces Round #563 (Div. 2) 划水记
    应届生秋招可能会遇到的三个问题
    基于vue(element ui) + ssm + shiro 的权限框架
    ASP.NET 分页+组合查询 练习
    登录,注册页面练习
    HTML css 样式表
  • 原文地址:https://www.cnblogs.com/rongyupan/p/12662496.html
Copyright © 2011-2022 走看看