在MATLAB中求解矩阵?

yxk*_*yxk 9 math matlab linear-algebra

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

A = matrix
x = matrix trying to solve for
Run Code Online (Sandbox Code Playgroud)

我尝试过解决('A*x = 0','x'),但我只得到0才能得到答案.

Jac*_*cob 13

请注意,null(A)对以下内容执行相同的操作(对于秩不足的矩阵),但这是使用svd(A)MATLAB中的函数(正如我在评论中提到的null(A)那样).

[U S V] = svd(A);
x = V(:,end)
Run Code Online (Sandbox Code Playgroud)

有关此内容的更多信息,请参阅此处的相关链接(由于公式,无法将其发布到此处).

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


Pet*_*ter 9

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

注意:你只能找到这样一个xif A有非平凡的nullspace.如果发生这种情况rank(A) < #cols of A.