在MATLAB中求解矩阵?

时间:2009-10-04 01:03:28

标签: math matlab linear-algebra

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

A = matrix
x = matrix trying to solve for

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

4 个答案:

答案 0 :(得分:13)

请注意,null(A)执行相同的操作(对于排名不足的矩阵),如下所示,但这是在MATLAB中使用svd(A)函数(作为我我在评论中提到的是null(A)的作用。

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

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

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

答案 1 :(得分:9)

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

注意:如果x具有非平凡的nullspace,则只能找到A这样的rank(A) < #cols of A。如果{{1}}。

,就会出现这种情况

答案 2 :(得分:1)

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

答案 3 :(得分:0)

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

R = rref(A)

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