#!/usr/bin/python # -*- кодировка: utf8 -*-импортировать matplotlib.pyplot как plt импортировать matplotlib как mpl импортировать numpy как np из math импортировать *code_website = 'http://commons.wikimedia.org/wiki/User:Geek3/mplwp' try : import mplwp except ImportError , er : print 'ImportError:' , er print 'Вам необходимо загрузить mplwp.py с' , code_website exit ( 1 )имя = 'mplwp_reny_entropy012inf.svg' фиг = mplwp . фиг_стандарт ( mpl )xlim = - 0,05 , 1,05 ; рис . gca () . set_xlim ( xlim ) ylim = 0 , 1,1 ; рис . gca () . set_ylim ( ylim ) mplwp . mark_axeszero ( рис . gca ())def H ( x , alpha ): если x == 0 или x == 1 : вернуть 0,0 если alpha == 1 : вернуть ( x * log ( x ) + ( 1 - x ) * log ( 1 - x )) / log ( 0,5 ) если alpha == float ( 'inf' ): вернуть log ( max ( x , 1 - x )) / log ( 0,5 ) вернуть 1 / ( 1,0 - alpha ) * log ( sum ( [ p ** alpha for p in [ x , 1 - x ]])) / log ( 2,0 )x = np.linspace ( 0,1,5001 ) x0 = [ 0,0,1,1 ] y0 = [ 0,1,1,0 ] plt.plot ( x0 , y0 , label = ur ' $ H_0 ( x , \ , 1 \ u2212 x ) $ ' ) y1 = [ H ( xx , 1 ) для xx в x ] plt . plot ( x , y1 , label = ur '$H_1(x,\,1 \u2212 x)$' )y2 = [ H ( xx , 2 ) для xx в x ] plt . plot ( x , y2 , label = ur '$H_2(x,\,1 \u2212 x)$' )yinf = [ H ( xx , float ( 'inf' )) для xx в x ] plt . plot ( x , yinf , label = ur '$H_\infty(x,\,1 \u2212 x)$' )mpl.rc ( ' легенда ' , borderaxespad = 1.0 ) plt.легенда ( loc = ' нижний центр ' ) . get_frame ( ) . set_alpha ( 0.9 ) plt.savefig ( имя ) mplwp.postprocess ( имя )