【发布时间】:2016-03-06 06:30:14
【问题描述】:
我有一个用随机数填充的 20x20 矩阵。我需要找出哪个矩阵将与随机矩阵相乘,以返回一个全为 20x1 的矩阵。
我的尝试:
inv(A)(其中 A 是一个用随机数填充的 20x20 矩阵)我知道我不想要矩阵的逆矩阵,因为如果成功,它只会返回单位矩阵,这不是我需要的。
【问题讨论】:
-
我更新了我的答案,以提供指向一些可用于解决此问题的 MATLAB 内置函数的指针。
我有一个用随机数填充的 20x20 矩阵。我需要找出哪个矩阵将与随机矩阵相乘,以返回一个全为 20x1 的矩阵。
我的尝试:
inv(A)(其中 A 是一个用随机数填充的 20x20 矩阵)我知道我不想要矩阵的逆矩阵,因为如果成功,它只会返回单位矩阵,这不是我需要的。
【问题讨论】:
我建议您使用矩阵代数来表达问题并得出解决方案。考虑以下情况,其中 * 表示矩阵乘法,1 表示所有向量的向量,Ainv 是 A 的逆矩阵。
A*x=1
Ainv * A * x = Ainv * 1
x = Ainv * 1
[2016 年 3 月 7 日编辑]
在许多计算机代数系统(MATLAB、scipy 等)中,有一个名为solve(或类似)的函数可用于求解表示为 Ax=b 的线性系统。特别是对于 MATLAB,请参阅:linsolve。此外,对于 MATLAB,请参阅 backslash operator。
我是 python 用户,所以我使用numpy.linalg.solve(),它做同样的事情(见link)。
【讨论】: