我有这行MATLAB代码:
a/b
Run Code Online (Sandbox Code Playgroud)
我正在使用这些输入:
a = [1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9]
b = ones(25, 18)
Run Code Online (Sandbox Code Playgroud)
这是结果(1x25矩阵):
[5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
Run Code Online (Sandbox Code Playgroud)
MATLAB在做什么?我试图在Python中复制此行为,并且mrdivideMATLAB中的文档无益.5来自哪里,为什么其余值为0?
我已尝试使用其他输入并接收类似的结果,通常只是一个不同的第一个元素和零填充矩阵的其余部分.在Python中,当我使用时linalg.lstsq(b.T,a.T),返回的第一个矩阵中的所有值(即不是单数矩阵)都是0.2.我已经在Python中尝试了正确的划分,并且它提供了完全错误的维度.
我理解最小二乘近似是什么,我只需要知道mrdivide正在做什么.
我在MATLAB中有这行代码,由其他人编写:
c=a.'/b
Run Code Online (Sandbox Code Playgroud)
我需要将它翻译成Python.a,b和c都是数组.我目前用于测试代码的维度是:
a:18x1,
b:25x18,
这给了我c尺寸1x25.
数组不是正方形,但我不希望代码失败.有人可以解释这条线正在做什么(数学上),以及如何在Python中做到这一点?(即,如果它存在于Python中,那么MATLAB中内置的mrdivide函数的等价物?)