求解线性方程组AX = Y。连线至输入矩阵右端项输入端的数据类型可确定要使用的多态实例。


icon

设A为m×n输入矩阵,Y为右端项中的m个系数,X为方程组向量解n个元素

AX = Y

m > n,方程组中方程的个数多于未知数个数,方程组是超定的。满足AX = Y的解可能不存在,VI将得到最小二乘解X,使得||AX – Y||最小化。

m < n,方程组中方程的个数少于未知数个数,方程组是欠定的。它可能有无限的解决方案,满足AX = Y。VI找到了这些解决方案中的一个。

m = n时,如A为非奇异矩阵,即没有任何行或列是其它行或列的线性组合,通过使输入矩阵A分解为上三角矩阵U和下三角矩阵L可求解方程组X,例如:

AX = LZ = Y

Z = UX

可以作为原有方程组的另一种表示方法。Z也是n个元素的向量。

三角方程组容易通过递归方法求解。因此,得到矩阵A的上三角矩阵U和下三角矩阵L后,通过LZ = Y方程组可得到Z,通过UX = Z方程组可得到X。

mn的情况下,A可以被分解为一个正交矩阵Q和一个上三角矩阵R,所以A=QR。然后,线性系统可以用QRX = Y表示。然后你可以解决RX=QTY。

通过递归方法容易求解三角方程组得到x。

注: 无法事先确定矩阵是否为奇异的,特别是方程组较大时。该VI检测到奇异矩阵后可返回错误,所以无需确认该VI使用方程组是否有效。

矩阵求逆的数值运算不仅繁重,而且由于其递归性,对于浮点数值处理器引入的舍入错误十分敏感。尽管计算使用可能的最大精度,VI无法保证可求解所有方程。

求解复数线性方程

设A为m×n输入矩阵,Y为右端项中的m个元素,X为方程组向量解中的n个元素

AX = Y

m > n,方程组中方程的个数多于未知数个数,方程组是超定的。既然满足AX = Y的解可能不存在,VI将得到最小二乘解X,使得||AX – Y||最小化。

m < n,方程组中方程的个数少于未知数个数,方程组是欠定的。它可能有无限的解决方案,满足AX = Y。然后,VI选择这些解决方案中的一个。

m = n时,如A为非奇异矩阵,即没有任何行或列是其它行或列的线性组合,通过使输入矩阵A分解为上三角矩阵U和下三角矩阵L可求解方程组X,例如:

AX = LZ = Y

Z = UX

可以作为原有方程组的另一种表示方法。Z也是n个元素的向量。

三角方程组容易通过递归方法求解。因此,得到矩阵A的上三角矩阵U和下三角矩阵L后,通过LZ = Y方程组可得到Z,通过UX = Z方程组可得到X。

mn时,A可以分解为一个正交矩阵Q,和一个上三角矩阵R,所以A=QR,线性系统可以用QRX=Y表示。然后你可以解决RX=QHY。通过递归方法容易求解三角方程组得到X。

注: 矩阵求逆的数值运算不仅繁重,而且由于其递归性,对于浮点数值处理器引入的舍入错误十分敏感。尽管计算将使用可能的最大精度,该VI无法保证可求解所有方程。

范例

请参考LabVIEW附带的下列范例文件。

  • labview\examples\Mathematics\Linear Algebra\Linear Algebra Calculator.vi