【问题标题】:inverse of a matrix矩阵的逆
【发布时间】:2012-04-21 23:44:15
【问题描述】:

在matlab中可以写成matlab的逆:

对于最小二乘(更有效)

x = A\b.--------------------------------1

但是对于未知参数(x)的协方差矩阵(Qxx),我通常会这样做,

Qxx==inv(A) --------------------------2

我怎样才能像 (1) 这样高效地编写它?

【问题讨论】:

  • 不确定我是否理解这个问题。如果您明确需要矩阵的逆矩阵,则需要调用inv。如果您不这样做(例如求解一组线性方程组),那么您就不需要这样做。
  • “更高效”是什么意思?对矩阵求逆往往是解决几乎所有问题的不好方法——你到底想做什么?

标签: matlab matrix linear-algebra matrix-inverse


【解决方案1】:

如果你真的需要逆,那么你将无法击败inv 函数。

有关inv 函数的一些讨论,请参阅this article by Loren on the Art of Matlab。正如您在原始问题中所指出的那样,以及链接文章中的 Loren 所指出的,我觉得有必要在这里加强;如果你实际上不需要逆,那么你最好避免这一步。但这并不总是可能的。

如果您确实需要逆,那么只需使用inv 函数。

【讨论】:

  • "如果你真的需要逆,那么你将无法击败inv 函数。"这根本不是我从这个链接和讨论中得到的。
  • 没错,我重新格式化了一下。最初的声明是独立的,其他一切都在真正需要时真正考虑。
【解决方案2】:

你的意思是这样的:

Qxx = A \ eye(size(A));

?

真正的问题是,你用逆向做什么?如果你只是将它乘以其他向量c,那么你可以这样做......

A \ c

而不是Qxx * c

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多