在Matlab中使用inv()函数使用所有RAM崩溃

时间:2013-04-25 17:52:10

标签: matlab matrix-inverse

我在Matlab 43916x43916中有一个稀疏矩阵,由这个等式计算:

B=(speye(nV,nV)-alpha*NeMatrix+beta*NeMatrix*NeMatrix);

nV一个int,alpha一个int,NeMatrix一个稀疏矩阵和beta一个int。

我不能做inv(B)因为它会增加RAM的使用直到它崩溃。我已经尝试过LU但没有成功。

如何选择计算此逆矩阵?

1 个答案:

答案 0 :(得分:2)

逆将是密集矩阵。因此,您应该检查是否可以处理此大小的矩阵。尝试,例如,设置ones(nV,nV) ... 如果您有足够的存储空间,则可以考虑计算逆列。第i列为B\ei,其中ei为第i个单位向量。

但是,在数值计算中,你几乎不需要矩阵B的逆。大多数时候B\v就足够了,其中v是一个向量。所以你最好检查一下,你是否真的需要完整的反...