आईओके का उपयोग करते समय ऊपरी और निचली सीमाओं को निर्दिष्ट करने के लिए कैसे करें, इसलिए मैं सामान्य वितरण से मूल्यों को चुनने में सक्षम होना चाहता हूं जो केवल 0 और 1 के बीच गिरते हैं। कुछ मामलों में मैं मूल रूप से सक्षम होना चाहता हूं बस एक पूरी तरह से यादृच्छिक वितरण वापस करें, और अन्य मामलों में मैं एक गॉसियन के आकार में आने वाले मूल्यों को वापस करना चाहता हूं।numpy.random.normal
फिलहाल मैं निम्नलिखित समारोह का उपयोग कर रहा:
def blockedgauss(mu,sigma):
while True:
numb = random.gauss(mu,sigma)
if (numb > 0 and numb < 1):
break
return numb
यह एक सामान्य वितरण से कोई मान लेती है, तो इसे छोड़ देता है अगर यह सीमा 0 से 1 तक अवधि से बाहर है, लेकिन मैं की तरह वहाँ चाहिए लग रहा है ऐसा करने का एक बेहतर तरीका बनें।
"ब्लॉक" < 0 and > 1 को महत्व देता है, तो कोशिश मत करो, यह अभी भी एक गाऊसी वितरण हो जाएगा? –
यह एक गाऊशियन वितरण नहीं होगा, लेकिन कुछ मामलों में मैं एक गाऊशियन वितरण नहीं चाहता हूं। मैं एक वितरण को वापस करना चाहता हूं जो एक यादृच्छिक वितरण (बहुत व्यापक गाऊशियन से चुनना) के बीच ट्यून करने योग्य है, जो डेल्टा फ़ंक्शन के बहुत करीब है (जहां गाऊसी बहुत संकीर्ण हो जाता है) –