2 回答

TA貢獻1796條經(jīng)驗 獲得超4個贊
大致如下:
import numpy as np
import matplotlib.pyplot as plt
n_denser = 33
n_coarser = 7
x_denser = np.linspace(0,1,n_denser)
y_denser = np.power(x_denser, 2) + np.random.randn(n_denser)/10.
x_coarser = np.linspace(0,1,n_coarser)
y_coarser = np.power(x_coarser, 2) + np.random.randn(n_coarser)/10. + 0.5
y_dense_interp = np.interp(x_coarser, x_denser, y_denser)
plt.plot(x_denser, y_denser, 'b+-')
plt.plot(x_coarser, y_coarser, 'ro:')
plt.plot(x_coarser, y_dense_interp, 'go')
plt.legend(['dense data', 'coarse data', 'interp data'])
plt.show()
返回的內(nèi)容如下:

TA貢獻1799條經(jīng)驗 獲得超9個贊
您的困惑似乎源于混淆您提到的方法。最小二乘不是插值方法,而是一種最小化曲線擬合方法。一個關鍵的區(qū)別是,通過插值,繪圖總是通過原始數(shù)據(jù)點。對于最小二乘法,這種情況可能會發(fā)生,但通常情況并非如此。
如果您需要傳遞原始數(shù)據(jù)點,三次樣條插值將為您提供“漂亮”的圖。
如果您想使用最小二乘法,您需要知道您想要擬合什么次數(shù)的多項式。最常見的是線性(一階)。
添加回答
舉報