8
的我可以很容易地計算類似:逆numpy.dot
R = numpy.column_stack([A,np.ones(len(A))])
M = numpy.dot(R,[k,m0])
其中A是一個簡單的數組並且k,M0是已知的值。
我想要不同的東西。有固定的R,M和K,我需要獲得m0。 有沒有一種方法可以通過函數numpy.dot()的逆來計算? 或者只有重新排列矩陣纔有可能?
的我可以很容易地計算類似:逆numpy.dot
R = numpy.column_stack([A,np.ones(len(A))])
M = numpy.dot(R,[k,m0])
其中A是一個簡單的數組並且k,M0是已知的值。
我想要不同的東西。有固定的R,M和K,我需要獲得m0。 有沒有一種方法可以通過函數numpy.dot()的逆來計算? 或者只有重新排列矩陣纔有可能?
M = numpy.dot(R,[k,m0])
正在執行矩陣乘法。 M = R * x
。
所以計算逆,可以使用np.linalg.lstsq(R, M)
:
import numpy as np
A = np.random.random(5)
R = np.column_stack([A,np.ones(len(A))])
k = np.random.random()
m0 = np.random.random()
M = R.dot([k,m0])
(k_inferred, m0_inferred), residuals, rank, s = np.linalg.lstsq(R, M)
assert np.allclose(m0, m0_inferred)
assert np.allclose(k, k_inferred)
注意都k
和m0
確定,給出M
和R
(假設len(M) >= 2
)。
謝謝!這完全解決了我所需要的。 – neryon