我正在將一些 MatLab 代碼轉換為 Python,但無法解決為什么我得到的結果不同。
在 MatLab 中,mad輸入的函式x = [1, 2, 4, 3, 7, 2, 1, 3, 2, 1]產生的結果為1.32. 但是,當在 中使用 equiv 函式時SciPy.Stats,median_abs_deviation我得到了不同的結果1.0。
我的代碼,確切地說是:
MATLAB:
x = [1, 2, 4, 3, 7, 2, 1, 3, 2, 1];
mdat = mad(x)
Python:
from scipy import stats
x = np.array([1, 2, 4, 3, 7, 2, 1, 3, 2, 1])
print(stats.median_abs_deviation(x))
uj5u.com熱心網友回復:
Matlab 中的默認值是計算平均絕對偏差。如果你想要中值絕對偏差,那么命令是mad(x,1).
如果您對計算 Python 中的平均絕對偏差感興趣,請參閱這篇文章。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/426542.html
上一篇:Simulink中的連接模塊
