假設我想從線性函數生成100個左右的數據點,那麼最好的方法是什麼?numpy從線性函數生成數據
一個例子線性函數y = 0.4*x + 3 + delta
其中,δ是從均勻分佈在-10和+10
我要爲每個數據點要產生增量,得到一些擾動到之間繪製的隨機值數據。
import numpy as np
d = np.random.uniform(-10, 10)
這似乎符合三角洲法案,雖然我不確定如何產生其餘的合併。
假設我想從線性函數生成100個左右的數據點,那麼最好的方法是什麼?numpy從線性函數生成數據
一個例子線性函數y = 0.4*x + 3 + delta
其中,δ是從均勻分佈在-10和+10
我要爲每個數據點要產生增量,得到一些擾動到之間繪製的隨機值數據。
import numpy as np
d = np.random.uniform(-10, 10)
這似乎符合三角洲法案,雖然我不確定如何產生其餘的合併。
這一切,而取決於你要評估你的函數是什麼x
值。假設你想從-50到50進行繪圖,只需使用x = np.arange(-50,50)
,但你需要d = np.random.uniform(-10, 10, x.size)
。
然後只需運行你的功能:y = 0.4*x + 3 + delta
。
在另一方面,如果你想有一個線性間隔x
你也可以使用np.linspace
或logarithmicly間隔x
:np.logspace
。
最後,它可能看起來像:
x = np.linspace(0, 100, 1000) # 1000 values between 0 and 100
# x = np.arange(-50, 50) # -50, -49, ... 49, 50
delta = np.random.uniform(-10, 10, x.size)
y = 0.4*x + 3 + delta
'plt.plot(X,Y)''然後plt.show()'我想你可以在關鍵字ARG'線型通=」。 「'只顯示單個數據點。 http://matplotlib.org/users/pyplot_tutorial.html –
對不起,我說得太快了,原來這很簡單。我用'plt.plot(y,'x')'來獲取數據點。 –
只是要清楚。沒有第一個x變量的plt.plot(y,'x')會導致x軸的np.arange(0,len(y))被推斷出來。如果你計算y使用任何其他範圍,比如-50到50,圖表將不正確 –