Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

All published worksheets from http://sagenb.org

Views: 168738
Image: ubuntu2004
def msk(x): #метод середини квадрату return int(x^2/100.0)%10000 #нове псевдовипадкове число в діапазоні [0;10000) def lkm(x,a,c,m): #лінійний конгруентний метод return (a*x+c)%m #нове псевдовипадкове число в діапазоні [0;m) def mpk(mu,sigma): #метод полярних координат (нормальний розподіл) s=1 while s>=1: u1=random() #дві рівномірно розподілені випадкові величини на проміжку [0;1) u2=random() v1=2*u1-1 #дві рівномірно розподілені випадкові величини на проміжку [-1;1) v2=2*u2-1 s=v1^2+v2^2 x1=v1*sqrt(-2*log(s)/s) x2=v2*sqrt(-2*log(s)/s) y1=mu+sigma*x1 y2=mu+sigma*x2 return y1 def ml(mu): #метод логарифму (показниковий розподіл) u=random() return -mu*log(u) @interact def _(x=input_box(default=8192, label="початкове значення x="),\ a=input_box(default=19, label="a="),\ c=input_box(default=11, label="c="),\ m=input_box(default=31457, label="m="),\ mu=input_box(default=2, label="mu="),\ sigma=input_box(default=1, label="sigma="),\ n=slider(vmin=1, vmax=100000,step_size=100,default=10000,label="кількість випробувань"), \ kol=slider(vmin=1, vmax=100,step_size=1,default=20,label="кількість проміжків"),\ b = selector(["середини квадрату","лінійний конгруентний","убудований", \ "полярних координат","логарифму"], \ label="Метод", buttons=True) ): arr0=[] #список для накопичення згенерованих значень html("Метод: "+b) for i in range(0,n): if b=="середини квадрату": y=x/10000.0 #псевдовипадкове число в діапазоні [0;1) x=msk(x) elif b=="лінійний конгруентний": y=x/m #псевдовипадкове число в діапазоні [0;1) x=lkm(x,a,c,m) #нове псевдовипадкове число в діапазоні [0;m-1] elif b=="убудований": y=random() #псевдовипадкове число в діапазоні [0;1) elif b=="полярних координат": y=mpk(mu,sigma) elif b=="логарифму": y=ml(mu) arr0.append(y) #додавання до списку згенерованого значення series=finance.TimeSeries(arr0) series.plot_histogram(kol).show() print "Стандартне відхилення =",series.standard_deviation() print "Автокореляція =",series.autocorrelation() for i in range(1,5): print "Центральний момент #",i," =",series.central_moment(i) print "Показник Херста =",series.hurst_exponent() print "Максимальне значення =",series.max() print "Мінімальне значення =",series.min() print "Математичне сподівання =",series.mean() for i in range(1,5): print "Момент #",i," =",series.moment(i) print "R/S =",series.range_statistic() print "Варіація =",series.variance() html("Графік псевдовипадкових чисел") series.plot().show()
початкове значення x= 
a= 
c= 
m= 
mu= 
sigma= 
кількість випробувань 
кількість проміжків 
Метод 
[removed]
[removed]
[removed]
[removed]