假设我想从线性函数生成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,图表将不正确 –