1
我試圖通過子類rv_continuous
生成2D均勻分佈。SciPy - '對象太深的期望數組'當子類rv_continuous
from scipy import stats
class uniform_2d(stats.rv_continuous):
def _pdf(self, x, y):
X, Y = np.meshgrid(x,y)
result = 1/(max(x)*max(y)) * np.ones_like(X)
return result
x = y = np.linspace(1,3,3)
uni = uniform_2d(name="uni")
pdf = uni.pdf(x,y)
fig = plt.figure(figsize=(9,5))
ax = fig.add_subplot(111)
ax.pcolor(X,Y,pdf)
試圖返回我的結果時,給下面的錯誤它失敗:
ValueError: object too deep for desired array
發生了什麼事?我的結果已經形成(3,3),並有numpy.ndarray
- 爲什麼我不能簡單地返回一個numpy.ndarray
?
編輯:另外,我是這樣做的錯誤方式嗎?使用scipy.stats
有沒有更簡單的方法來製作2D均勻分佈?
好吧,就我的目的而言,我通過簡單地使用多變量分佈分佈來獲得解決方法。 SciPi中多元分佈是如此不發達的,我有點驚訝! – 2014-10-30 16:47:38