python - 数组除法——从 MATLAB 到 Python 的翻译

标签 python matlab numpy linear-algebra

我在 MATLAB 中有这行代码,是别人写的:

c=a.'/b

我需要将它翻译成 Python。 a、b、c 都是数组。我目前用于测试代码的维度是:

一个:18x1,
b: 25x18,

这给了我尺寸为 1x25 的 c。

数组不是正方形的,但如果它们是正方形的,我不希望代码失败。有人能准确解释这条线在做什么(数学上),以及如何在 Python 中做到这一点吗? (即,如果 Python 中存在 MATLAB 中的内置 mrdivide 函数,它是否等效?)

最佳答案

线

c = a.' / b

计算方程 c b = aT 对于 c 的解。 Numpy 没有直接执行此操作的运算符。相反,您应该为 cT 求解 bT cT = a 并转置结果:

c = numpy.linalg.lstsq(b.T, a.T)[0].T

关于python - 数组除法——从 MATLAB 到 Python 的翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1001634/

相关文章:

python - 有条件地在数据框中填充一个值

python - 将 OpenCV 文档添加到 PyCharm

python - 消除Cython numpy编译警告的方法?

Python - 重新排列 3D 数组中的元素

python - 为什么复制 >= 16 GB 的 Numpy 数组会将其所有元素设置为 0?

python - 使用 for 循环创建多个 Django 模型实例

python - np.array[ :, 0] 和 np.array[ :, [0]] 有什么区别?

Matlab:将总和放入函数中

matlab - 设置轴的最小值和最大值以保持不变

Matlab:将大于(小于)1(-1)的元素转换为1(-1)的序列