|
Python |
Matlab/Octave |
Vorbereitung (Laden von Modulen/Paketen) |
#python -m pip install --upgrade numpy
#python -m pip install --upgrade matplotlib
#pip install --upgrade numpy
#pip install --upgrade matplotlib
from numpy import *
from numpy.random import *
from matplotlib.pyplot import *
|
%Matlab: erfordert die Statistics and Machine Learning Toolbox
%Octave: pkg load statistics
if exist('OCTAVE_VERSION','builtin')~=0
pkg load statistics
end
|
Gleichverteilung im Intervall |
N=poisson(20) #Anzahl der Objekte Poisson-verteilt
a=0
b=8
x=uniform(a,b,N) #Position der Objekte gleichverteilt
plot(x,'o')
show()
|
N=poissrnd(20); %Anzahl der Objekte Poisson-verteilt
a=0;
b=8;
x=unifrnd(a,b,[1,N]); %Position der Objekte gleichverteilt
plot(x,'o')
|
kumulative Verteilungsfunktion (linksseitig stetig) und empirische Wahrscheinlichkeitsdichtefunktion |
N=poisson(10000)
a=0
b=8
x=uniform(a,b,N)
xi=0.5*arange(-2,19)
F=cumsum(histogram(x,bins=append(append(-inf,xi),inf))[0][0:len(xi)])/float(len(x))
plot([-1,0,8,9],[0,0,1,1],xi,F,'o')
show()
K=len(xi)
f=histogram(x,bins=xi)[0][0:K-1]/float(len(x))/(xi[1:K]-xi[0:K-1])
plot([-1,0,0,8,8,9],[0,0,0.125,0.125,0,0])
step(xi,append(0,f))
show()
|
N=poissrnd(10000);
a=0;
b=8;
x=unifrnd(a,b,[1,N]);
xi=0.5*(-2:18);
F=cumsum(histc(x,[-inf,xi]))/length(x);
F=F(1:end-1);
plot([-1,0,8,9],[0,0,1,1],xi,F,'o')
waitforbuttonpress
f=histc(x,xi)/length(x);
f=f(1:length(xi)-1);
f=f./reshape(xi(2:length(xi))-xi(1:length(xi)-1),size(f));
plot([-1,0,0,8,8,9],[0,0,0.125,0.125,0,0])
hold on
stairs(xi,[f,0])
hold off
|
Abstand (exponentialverteilt) aufeinanderfolgender Objekte mit gleichverteilten Positionen |
N=poisson(20)
a=0
b=8
x=sort(uniform(a,b,N))
d=x[1:len(x)]-x[0:len(x)-1]
plot(d,'o')
show()
|
N=poissrnd(20);
a=0;
b=8;
x=sort(unifrnd(a,b,[1,N]));
d=x(2:end)-x(1:end-1);
plot(d,'o')
|
kumulative Verteilungsfunktion (linksseitig stetig) und empirische Wahrscheinlichkeitsdichtefunktion |
N=poisson(10000)
a=0
b=8
x=sort(uniform(a,b,N))
d=x[1:len(x)]-x[0:len(x)-1]
dk=0.0005*arange(-2,19)
F=cumsum(histogram(d,bins=append(append(-inf,dk),inf))[0][0:len(dk)])/float(len(d))
plot(0.00005*arange(-20,181),1-exp(-0.00005*maximum(0,arange(-20,181))/((b-a)/float(N))),dk,F,'o')
show()
K=len(dk)
f=histogram(d,bins=dk)[0][0:K-1]/float(len(d))/(dk[1:K]-dk[0:K-1])
plot([-0.001,0],[0,0])
plot(0.00005*arange(0,181),N/(b-a)*exp(-0.00005*arange(0,181)/((b-a)/float(N))))
step(dk,append(0,f))
show()
|
N=poissrnd(10000);
a=0;
b=8;
x=sort(unifrnd(a,b,[1,N]));
d=x(2:end)-x(1:end-1);
dk=0.0005*(-2:18);
F=cumsum(histc(d,[-inf,dk]))/length(d);
F=F(1:end-1);
plot(0.00005*(-20:180),1-exp(-0.00005*max(0,(-20:180))/((b-a)/N)),dk,F,'o')
waitforbuttonpress
f=histc(d,dk)/length(d);
f=f(1:length(dk)-1);
f=f./reshape(dk(2:length(dk))-dk(1:length(dk)-1),size(f));
plot([-0.001,0],[0,0])
hold on
plot(0.00005*(0:180),N/(b-a)*exp(-0.00005*(0:180)/((b-a)/N)))
stairs(dk,[f,0])
hold off
|
Anzahl von Objekte in einem Teilintervall (Poisson-verteilt) mit gleichverteilten Positionen |
N=poisson(20)
a=0
b=8
x=uniform(a,b,N)
n=zeros(10)
for i in range(0,N):
n[int(10*(x[i]-a)/float(b-a))]+=1
plot(n,'o')
show()
|
N=poissrnd(20);
a=0;
b=8;
x=unifrnd(a,b,[1,N]);
n=zeros(1,10);
for i=1:N
n(fix(10*(x(i)-a)/(b-a))+1)=n(fix(10*(x(i)-a)/(b-a))+1)+1;
end
plot(n,'o')
|
kumulative Verteilungsfunktion (linksseitig stetig) und empirische Wahrscheinlichkeitsfunktion |
N=poisson(10000)
a=0
b=8
x=uniform(a,b,N)
K=5000
n=zeros(K)
for i in range(0,N):
n[int(K*(x[i]-a)/float(b-a))]+=1
nk=0.2*arange(-20,101)
F=cumsum(histogram(n,bins=append(append(-inf,nk),inf))[0][0:len(nk)])/float(len(n))
plot(nk,F,'o')
show()
nk=arange(0,11)
P=histogram(n,bins=append(nk,nk[len(nk)-1]))[0]/float(len(n))
plot(nk,P,'o')
show()
|
N=poissrnd(10000);
a=0;
b=8;
x=unifrnd(a,b,[1,N]);
K=5000;
n=zeros(1,K);
for i=1:N
n(fix(K*(x(i)-a)/(b-a))+1)=n(fix(K*(x(i)-a)/(b-a))+1)+1;
end
nk=0.2*(-20:100);
F=cumsum(histc(n,[-inf,nk]))/length(n);
F=F(1:end-1);
plot(nk,F,'o')
waitforbuttonpress
nk=(0:10);
P=histc(n,nk)/length(n);
plot(nk,P,'o')
|
AR1-Prozess |
N=200
phi=0.95
ex=1
vx=1
theta=sqrt((1-phi**2)*vx)
x=zeros(N)
x[0]=normal(ex,sqrt(vx))
for i in range(1,N):
x[i]=phi*(x[i-1]-ex)+normal(ex,theta)
plot(x,'.')
show()
|
N=200;
phi=0.95;
ex=1;
vx=1;
theta=sqrt((1-phi^2)*vx);
x=zeros(1,N);
x(1)=normrnd(ex,sqrt(vx));
for i=2:N
x(i)=phi*(x(i-1)-ex)+normrnd(ex,theta);
end
plot(x,'.')
|
Impulsantwort des AR1-Prozesses |
N=200
phi=0.95
ex=1
vx=1
theta=sqrt((1-phi**2)*vx)
x=zeros(N)
x[0]=theta+ex
for i in range(1,N):
x[i]=phi*(x[i-1]-ex)+ex
plot(x,'.')
show()
|
N=200;
phi=0.95;
ex=1;
vx=1;
theta=sqrt((1-phi^2)*vx);
x=zeros(1,N);
x(1)=theta+ex;
for i=2:N
x(i)=phi*(x(i-1)-ex)+ex;
end
plot(x,'.')
|
Random Walk (eindimensional, mit Drift) |
N=200
nu=0.2
vx=1
x=cumsum(normal(nu,sqrt(vx),N))
plot(x,'.')
show()
|
N=200;
nu=0.2;
vx=1;
x=cumsum(normrnd(nu,sqrt(vx),[1,N]));
plot(x,'.')
|
Lévy Flights (eindimensional, Cauchy-verteilt) |
N=200
vx=1
x=cumsum(sqrt(vx)*standard_normal(N)/standard_normal(N))
plot(x,'.')
show()
|
N=200;
vx=1;
x=cumsum(sqrt(vx)*randn(1,N)./randn(1,N));
plot(x,'.')
|