我想繪製一個涉及二項式係數的函數。我的代碼是具有大二項式係數的繪圖函數
#!/usr/bin/python
from __future__ import division
from scipy.special import binom
import matplotlib.pyplot as plt
import math
max = 500
ycoords = [sum([binom(n,w)*sum([binom(w,k)*(binom(w,k)/2**w)**(4*n/math.log(n)) for k in xrange(w+1)]) for w in xrange(1,n+1)]) for n in xrange(2,max)]
xcoords = range(2,max)
plt.plot(xcoords, ycoords)
plt.show()
不幸的是,這永遠不會終止。如果你將max降低到40,說明它工作正常。有什麼方法來繪製這個功能?
我也擔心scipy.special.binom可能沒有給出準確的答案,因爲它似乎在浮點運行。
你的代碼似乎做工精細,我跑了原樣,雖然它確實需要很長時間顯著量,這是當你與500合作,可以預期條款。此外,情節工作得很好。我不清楚問題是什麼。 –
@TroyRockwood我認爲binom(n,w)只能精確到53位,所以你得到的圖片不會是正確的嗎? – eleanora
這是一個與「永不終止」或「可以繪製它」不同的問題,顯然結果將受到所使用的變量精度的精確度的限制。也許關於這個問題的應用會有所幫助的一點說明。 –