मैंने सामान्य वितरण के पीडीएफ का लघुगणक प्लॉट किया। अब मैं विभिन्न एक्स-मानों (एक्स = 3) के लिए इस फ़ंक्शन के रैखिक अनुमानों को प्लॉट करना चाहता हूं। समस्या यह है कि लौटाए गए मान अपेक्षित नहीं हैं।

set xrange[-4:4]

f(x) = 1/sqrt(2*pi*2**2) * exp(-x**2/(2*2**2))
g(x) = log(f(x))
h(x) = -0.5 * log(2*pi*2**2) - x**2/(2*2**2)

print(f(3))
print(g(3))
print(h(3))


 plot h(x) with lines, \
      h(3) with lines, \
      # expected output
      -2.737085713764618 with lines

मुझे उम्मीद है कि h(3) = -2.737085713764618, लेकिन h(3) = -2.61208571376462 gnuplot से प्राप्त करें। मुझे लगता है कि मैं यहाँ एक मूर्खतापूर्ण गलती कर रहा हूँ। यह बहुत अच्छा होगा अगर कोई मुझे समझा सके कि यहां क्या हो रहा है।

0
iHuba 26 अगस्त 2019, 23:21

1 उत्तर

सबसे बढ़िया उत्तर

यदि तर्क पूर्णांक हैं तो Gnuplot पूर्णांक विभाजन का उपयोग करता है। फ़्लोटिंग पॉइंट डिवीजन को मजबूर करने के लिए आपको वास्तविक तर्क प्रदान करना होगा।

f(x) = 1.0/sqrt(2*pi*2**2) * exp(-x**2/(2.0*2**2))
g(x) = log(f(x))
h(x) = -0.5 * log(2*pi*2**2) - x**2/(2.0*2**2)

print h(3.0)
-2.73708571376462  
0
Ethan 26 अगस्त 2019, 20:30