矩阵求解器
-
小白请教一个简单问题,of里面怎么求解一个我自己定义的线性代数方程组?
-
scalarDiagonalMatrix rhsU(3, 0); scalarDiagonalMatrix rhsV(3, 0); //- U component { SquareMatrix<scalar> momentsMatrix(3); for(int i = 0; i < 3; i++) { for(int j = 0; j < 3; j++) { momentsMatrix(i, j) = M_[i + j][cellI]; } } for(int i = 0; i < 3; i++) { rhsU[i] = M_[i + 6][cellI]; } LUsolve(momentsMatrix, rhsU); } 给你举个栗子,主要是后面的
LUsolve
,第一个参数momentsMatrix
是 中的 ,第二个参数rhsU
是 。 -
我也设置了一个自己的矩阵方程求解,Ax=b,A是一个40*40的矩阵,x的求解使用了两种方法:
- 使用SVDinv(A)×b;
- 使用LUsolve(A,b)求解,最后b就是所得的x的解。
但是随着代码的运行,我发现Ax-b的值越来越大,所以想请教一下是我的设置有问题么,还是说是矩阵本身条件数的问题,或者是LU分解不太适用于这么大的矩阵呢。
希望看到的老师同学们能帮助我解答疑惑,万分感谢!!
2018年5月14日 09:14
7/7
2021年4月7日 08:12