Math 在MATLAB中求解矩阵?
如何解决中x的(非平凡)解Ax=0 我尝试过求解('A*x=0','x'),但我只得到了0作为答案。您可以使用Math 在MATLAB中求解矩阵?,math,matlab,linear-algebra,Math,Matlab,Linear Algebra,如何解决中x的(非平凡)解Ax=0 我尝试过求解('A*x=0','x'),但我只得到了0作为答案。您可以使用N=null(A)来获得矩阵N。N的任何列(或者实际上,N的任何列的线性组合)将满足Ax=0。这描述了所有可能的x——您刚刚找到了A的零空间的正交基 注意:如果A具有非平凡的空空间,则只能找到这样的x。如果rank(A)
N=null(A)
来获得矩阵N
。N
的任何列(或者实际上,N
的任何列的线性组合)将满足Ax=0
。这描述了所有可能的x
——您刚刚找到了A
的零空间的正交基
注意:如果
A
具有非平凡的空空间,则只能找到这样的x
。如果rank(A)<\cols of A
您可以看到MATLAB的工具箱中是否有奇异值分解,就会出现这种情况。这将为您提供向量的零空间。请注意,零(A)的作用与(对于秩亏矩阵)相同,但这是使用MATLAB中的svd(A)
函数(正如我在评论中提到的null(A)
所做的)
关于这方面的更多信息,这里有一个与此相关的(由于公式原因,无法将其发布到此处)
如果您想更直观地了解奇异值和特征值分解,请查看MATLAB中的eigshow
。null(a)
将为您提供直接答案。如果您需要一个非平凡的解决方案,请尝试简化行梯队形式,并参阅pdf的第一页
R = rref(A)
可逆性并不特别相关(就其本身而言)。如果A是可逆的,Ax=0的唯一解决方案是0,不是吗?对,但这是一个更一般问题的有限的特例答案。@Peter我想manji想说的是,得到0可能是对SVD这一特殊情况进行运算的唯一有效结果,结果与null(A)的结果相同。它们使用不同的数值方法。不是真的,null(A)使用奇异值分解-我的道歉。我假设它使用了QR算法。我在回答我的排名(A)=#cols时已经详细说明了。如何“减少”等级的价值?同样null(A)=空矩阵:12乘0。您应该研究低秩近似。您可以使用SVD进行此操作。
[U S V] = svd(A);
x = V(:,end)
R = rref(A)