【问题标题】:How to multiply one matrix by another in order to return a matrix of ones如何将一个矩阵乘以另一个矩阵以返回一个矩阵
【发布时间】:2016-03-06 06:30:14
【问题描述】:

我有一个用随机数填充的 20x20 矩阵。我需要找出哪个矩阵将与随机矩阵相乘,以返回一个全为 20x1 的矩阵。

我的尝试:

inv(A)(其中 A 是一个用随机数填充的 20x20 矩阵)我知道我不想要矩阵的逆矩阵,因为如果成功,它只会返回单位矩阵,这不是我需要的。

【问题讨论】:

  • 我更新了我的答案,以提供指向一些可用于解决此问题的 MATLAB 内置函数的指针。

标签: matrix octave


【解决方案1】:

我建议您使用矩阵代数来表达问题并得出解决方案。考虑以下情况,其中 * 表示矩阵乘法,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)。

【讨论】:

  • 成功了,谢谢!!!我从来没有想过要为它写出代数,我只是假设有一个八度特定的方式......哈哈
猜你喜欢
  • 2012-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多