sigma_A = sigma_y * Numeric.sqrt(Numeric.sum(x**2) / DELTA) sigma_B = sigma_y * Numeric.sqrt(N / DELTA) return A, B, sigma_y, sigma_A, sigma_B # Test program if __name__ == '__main__': # Use latex text formatting matplotlib.rc('text', usetex=True) # Create a test data set x = Numeric.arange(20) dy = RandomArray.standard_normal(20) y = 0.5 * x + 3 + dy A, B, dy, dA, dB = lregress(x, y) y2 = A + B * x print A, B, dy, dA, dB # pylab.plot(x,y,'o') # pylab.plot(x,y2,linewidth=3) # pylab.xlabel('x',fontsize='large') # pylab.ylabel('y',fontsize='large') # pylab.text(2, 13, 'A = %.1f $\pm$ %.1f (true: 3.0)' % (A,dA) ) # pylab.text(2, 12, 'B = %.2f $\pm$ %.2f (true: 0.5)' % (B,dB) ) # pylab.text(2, 11, 'dy = %.1f (true: 1.0)' % (dy) )
def _maxwellboltzmanndistribution(masses, temp): xi = RandomArray.standard_normal(shape=(len(masses), 3)) momenta = xi * Numeric.sqrt(masses * temp)[:, Numeric.NewAxis] return momenta
def _maxwellboltzmanndistribution(masses, temp): xi = RandomArray.standard_normal(shape=(len(masses),3)) momenta = xi * Numeric.sqrt(masses * temp)[:,Numeric.NewAxis] return momenta
sigma_A = sigma_y * Numeric.sqrt( Numeric.sum(x**2)/DELTA ) sigma_B = sigma_y * Numeric.sqrt( N/DELTA ) return A,B,sigma_y,sigma_A,sigma_B # Test program if __name__== '__main__': # Use latex text formatting matplotlib.rc('text', usetex=True) # Create a test data set x = Numeric.arange(20) dy = RandomArray.standard_normal(20) y = 0.5*x+3 + dy A,B,dy,dA,dB = lregress(x,y) y2 = A + B*x print A, B, dy ,dA,dB # pylab.plot(x,y,'o') # pylab.plot(x,y2,linewidth=3) # pylab.xlabel('x',fontsize='large') # pylab.ylabel('y',fontsize='large') # pylab.text(2, 13, 'A = %.1f $\pm$ %.1f (true: 3.0)' % (A,dA) ) # pylab.text(2, 12, 'B = %.2f $\pm$ %.2f (true: 0.5)' % (B,dB) ) # pylab.text(2, 11, 'dy = %.1f (true: 1.0)' % (dy) )