import numpy as np
import matplotlib.pyplot as pp
import sympy as sym
def f( x ):
return np.cos( x ) - 0.5 * x
x = np.linspace( -10, 10, 100 )
pp.figure( figsize = ( 12, 8 ) )
pp.plot( x, f( x ) )
pp.show()
n = 100
s = np.random.normal( size = 100 )
def f( mu, sigma ):
retval = np.empty( mu.shape )
for i in range( mu.shape[ 0 ] ):
retval[ i ] = -np.prod( np.exp( -( s - mu[ i ] ) ** 2 / sigma ) )
return retval
sigma = 3.0
mu = np.linspace( -1.0, 1.0, 200 )
f_mu = f( mu, sigma )
avg = np.mean( s )
print( avg )
pp.figure( figsize = ( 15, 8 ) )
pp.plot( mu, f_mu )
pp.plot( [ avg, avg ], [ np.min( f_mu ), np.max( f_mu ) ] )
pp.show()
def f( x ):
return x**3/3 - 3*x**2/2 + 2*x
X = sym.symbols( 'x' )
sym.integrate( ( X - 1 ) * ( X - 2 ), X )
x = np.linspace( 0, 3, 100 )
f_x = f( x )
pp.figure( figsize = ( 12, 8 ) )
pp.plot( x, f_x )
pp.plot( [ 2, 2 ], [ np.min( f_x ), np.max( f_x ) ] )
pp.savefig( 'local_min.pdf' )
pp.show()