【问题标题】:Solving a matrix in MATLAB?在 MATLAB 中求解矩阵?
【发布时间】:2009-10-04 01:03:28
【问题描述】:

如何解决MATLAB 中 x 的(非平凡)解 Ax = 0?

A = matrix
x = matrix trying to solve for

我试过 solve('A * x = 0', 'x') 但我只得到 0 作为答案。

【问题讨论】:

  • 可逆性并不是特别相关(就其本身而言)。
  • 如果A可逆,那么Ax=0的唯一解就是0,不是吗?
  • 是的,但这是对更一般问题的有限、特殊情况的回答。
  • @Peter 我认为 manji 想说的是,得到 0 可能是 OP 特定情况的唯一有效结果

标签: math matlab linear-algebra


【解决方案1】:

请注意 null(A) 的作用与 (对于秩亏矩阵) 相同,但这是使用 MATLAB 中的 svd(A) 函数(正如我已经我的 cmets 中提到的是 null(A) 所做的)。

[U S V] = svd(A);
x = V(:,end)

有关此的更多信息,这里有一个与此相关的link(由于公式,无法将其发布到此处)。

如果您想更直观地了解奇异值和特征值分解,请查看 MATLAB 中的 eigshow

【讨论】:

    【解决方案2】:

    您可以使用N = null(A) 获取矩阵NN 的任何列(或者,实际上,N 的列的任何线性组合)都将满足 Ax = 0。这描述了所有可能的 x - 您刚刚找到了 A 的零空间的正交基。

    注意:如果A 具有非平凡的空空间,您只能找到这样的x。如果rank(A) < #cols of A 会发生这种情况。

    【讨论】:

    • 我的排名(A) = # cols.如何“减少”排名的价值?同样为 null(A) = 空矩阵:12×0。
    • 您应该研究低等级近似值。您可以为此使用 SVD。
    【解决方案3】:

    您可以查看 MATLAB 在其工具箱中是否有奇异值分解。这将为您提供向量的零空间。

    【讨论】:

    【解决方案4】:

    null(A)会给你直接的答案。如果您需要一个重要的解决方案,请尝试减少行梯形并参考 pdf 的第一页。

    R = rref(A)
    

    http://www.math.colostate.edu/~gerhard/M345/CHP/ch7_4.pdf

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-04
      • 1970-01-01
      • 2012-05-02
      • 2013-09-20
      • 1970-01-01
      • 2016-01-29
      相关资源
      最近更新 更多