用非常小的输入求解矩阵方程

时间:2014-11-09 23:30:15

标签: matlab linear-algebra equation-solving numerical-stability precision

我在Matlab和我的程序中编程我需要解决一个系统Ax=b,其中A是一个mm方阵,非常小条目。如果m增加,则A的条目会变小。

A是稀疏矩阵,因此我使用Matlab的函数sparse重命名此矩阵:B=sparse(A)

我可以使用特殊方法解决Bx=b没有下溢或数字错误吗?

1 个答案:

答案 0 :(得分:1)

如@Parag S. Chandakkar所述,您可以诉诸vpasolve。首先让我们构建一个条件差的矩阵

n = 10;
A = hilb(n)
b = randn(n, 1);

解决此系统的常用方法是调用

x = A\b;

vpasolve

xs = sym('x', [n 1]);
sol = vpasolve(A*xs==b);