Matlab - 为什么有这么多求解线性方程组的方法? [关闭]

问题描述 投票:-2回答:1

这可能听起来像一个简单的问题,但我想知道为什么有这么多不同的内置Matlab方法来求解线性方程组。我已经完成了所有的定义:Bicg,Bicgstab,Bicgstabl,Cgs,Gmres,Lsqr,Minres,Pcg,Qmr,Symmlq,Tfqmr,虽然有一些差异,但似乎都做了完全相同的事情?

这是一个特殊的目的吗?对于特定的方程组,是否更准确/更快等?

谢谢

matlab equation numerical-methods linear linear-equation
1个回答
1
投票

线性方程组来自各种各样的实际文件问题,例如,物理现象的数学模型,如可变形固体的机械行为,电路中的电压和电流分析等。问题在于每个类问题导致具有特定属性的矩阵。有些是病态的,有些非常大(数百万行/列),有些是肯定的,有些则不是;有些矩阵是对称的,有些不是;一些矩阵是正方形的,其他矩阵可以是矩形的(例如,对于过度确定的系统)等。通常情况下,一些求解器(例如在MATLAB中实现)对某些类问题有好处,但是“坏” “对于其他人,例如:收敛速度可能很差,或者矩阵太大,因此无法完全存储在随机存取存储器中,等等。因此,用户需要进行一系列数值实验,为他/她的一类问题尝试不同的方法,以找到最适合他/她的情况的方法,即。最快,最精确,最可靠等等。这就是为什么他/她可以选择广泛的解决方法来进行实验。

© www.soinside.com 2019 - 2024. All rights reserved.