求解线性方程(多个右边向量)
- 更新时间2025-07-30
- 阅读时长5分钟
求解线性系统AX=Y。连线至输入矩阵和已知向量输入端的数据类型可确定要使用的多态实例。

输入/输出
输入矩阵
—
输入矩阵是实数方阵或实数长方矩阵。右端项的行数必须等于输入矩阵的行数。如右端项的行数与输入矩阵的行数不同,VI可设置向量解为空数组,并返回错误。 输入矩阵是奇异矩阵时,如矩阵类型为General,VI可寻找最小二乘解。否则,VI返回错误。
已知矩阵
—
已知矩阵是由已知因变量值组成的矩阵。已知矩阵与输入矩阵二者的行数必须相同。如已知矩阵与输入矩阵的行数不等,VI可设置矩阵解为空矩阵并返回错误。
矩阵类型
—
矩阵类型是输入矩阵的类型。了解输入矩阵的类型可加快矩阵解的计算,减少不必要的计算,提高计算的正确性。
矩阵解
—
矩阵解返回AX = Y的X解,A是输入矩阵,Y是已知矩阵。
错误
—
错误返回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。
在 m ≠ n的情况下,A可以被分解为一个正交矩阵Q和一个上三角矩阵R,所以A=QR。然后,线性系统可以用QRX = Y表示。然后你可以解决RX=QTY。
通过递归方法容易求解三角方程组得到x。
矩阵求逆的数值运算不仅繁重,而且由于其递归性,对于浮点数值处理器引入的舍入错误十分敏感。尽管计算使用可能的最大精度,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。
当 m ≠ n时,A可以分解为一个正交矩阵Q,和一个上三角矩阵R,所以A=QR,线性系统可以用QRX=Y表示。然后你可以解决RX=QHY。通过递归方法容易求解三角方程组得到X。
范例
请参考LabVIEW附带的下列范例文件。
- labview\examples\Mathematics\Linear Algebra\Linear Algebra Calculator.vi
输入矩阵
—
矩阵类型
—
矩阵解
—
错误
—