Vous êtes sur la page 1sur 7

Funcin de distribucin de

Weibull
La velocidad del viento cambia continuamente, por lo que es necesario describirlo de forma
estadstica.

Es conveniente establecer un modelo de las frecuencias de las velocidades del viento que
venga descrito por una funcin matemtica continua en vez de por una tabla de valores
discretos.

Hay varias funciones que se pueden utilizar para describir la frecuencia de la distribucin
de velocidades del viento. Las ms utilizadas son las funciones de Weibull y Rayleigh.

Media aritmtica y desviacin estndar


Si tenemos un conjunto de n nmeros [x1 x2 x3....xn], se define la media aritmtica
<x>

<x>= 1 n i=1 n x i

Si queremos conocer la desviacin del conjunto de datos respecto de la media,


definimos la desviacin estndar

2 = 1 n1 i=1 n ( x i <x>) 2

MATLAB calcula la media y desviacin estndar de un conjunto de datos llamando


a las funciones mean y std.

>> x=[1.65 1.82 1.72 1.75 1.73 1.85 1.90 1.74 1.76 1.77];
>> mean(x)
ans=1.7690
>> std(x)
ans=0.0713
En ocasiones las velocidades del viento vienen dadas por nmeros enteros, de
modo que cada valor entero se mide varias veces durante el periodo de
observacin. As, si el dato xi se ha medido wi veces. Tendremos dos vectores x de
las medidas y w de las observaciones de dicha medida (pesos) de la misma
dimensin m.

x=[x1 x2 x3....xm]

w=[w1w2 w3....wm]

Las frmulas de la media aritmtica y desviacin estndar se expresan:


<x>= 1 n i=1 n w i x i 2 = 1 n1 i=1 n w i ( x i <x>) 2

orden, i medida, x observaciones, w

1 6 19

2 7 54

3 8 42

total, n 115

Definimos dos funciones w_media y w_estandar que nos devuelvan la media


aritmtica y la desviacin estndar cuando se nos proporcionan los datos de las
medidas xi y su correspondiente nmero de observaciones wi.

Para calcular el valor medio definimos la funcin w_media

function res=w_media(x,w)
res=sum(w.*x)/sum(w);
end
Para calcular la desviacin estndar definimos la funcin w_estandar

function res=w_estandar(x,w)
n=sum(w);
media=sum(w.*x)/n;
suma2=sum(w.*(x-media).^2);
res=sqrt(suma2/(n-1));
end
En la ventana de comandos probamos las dos funciones que hemos definido

>> x=[6 7 8];


>> w=[19 54 42];
>> w_media(x,w)
ans = 7.2000
>> w_estandar(x,w)
ans = 0.7034

Frecuencias
Se define frecuencia f(xi) de una medida xi como el cociente del nmero wi de
observaciones de dicha medida dividida por el nmero total n de medidas. La
frecuencia acumulada F(xi) se define como la suma de las frecuencias desde k=1
ai

f( x i )= w i n i=1 m f( x i )=1 F( x i )= k=1 i f( x k )

La tabla anterior de medidas xi y nmero de observaciones de cada medida wi la


convertimos en tabla de frecuencias f(xi) y frecuencias acumuladas F(xi).
frecuencia
orden, i medida, x observaciones, w frecuencia, f
acumulada, F

1 6 19 0.165 0.165

2 7 54 0.470 0.635

3 8 42 0.365 1.0

total, n 115 1.0

Modelo estadstico
Es conveniente establecer un modelo de las frecuencias de las velocidades del
viento (ltima figura de la pgina 'Anlisis de los datos del viento') que venga
descrito por una funcin matemtica continua en vez de por una tabla de valores
discretos.

La funcin f(x) representa la probabilidad de que la velocidad del viento est en un


intervalo entre x y x+dx. El rea bajo f(x) es la unidad.

0 f(x)dx=1

La probabilidad de que la velocidad del viento est comprendida entre x0 y x1 viene


dada por la integral

P( x 0 x x 1 )= x 0 x 1 f(x)dx

Si el nmero N de medidas de la velocidad del viento es grande y se ha hecho una


medida en el intervalo de tiempo t (10 minutos, una hora). El tiempo en el que el
viento est soplando con una velocidad comprendida entre
entre x0 y x1 es NtP(x0x< x1)

El valor medio de la velocidad <x> y la desviacin estndar tienen ahora la


siguiente definicin:

<x>= 0 xf(x)dx 2 = 0 (x<x>) 2 f(x)dx

La distribucin de probabilidad acumulada F(x) se define

F(x)= 0 x f(x)dx

Hay varias funciones f(x) que se pueden utilizar para describir la frecuencia de la
distribucin de velocidades del viento (ltima figura de la pgina 'Anlisis de los
datos del viento'). Las ms utilizadas son las funciones de Weibull y Rayleigh.

Funcin de distribucin de Weibull


La funcin de distribucin Weibull depende de dos parmetros denominados c y k y
la funcin de distribucin de Rayleigh de un slo parmetro. Esto hace que la
primera sea ms verstil y preferida que la segunda por lo que la estableceremos
como modelo.

f(x)= k c ( x c ) k1 exp[ ( x c ) k ] (k>0,x>0,c>1)

Para dibujar las grficas de esta funcin con c=1 y variando el parmetro k,
escribimos el script

c=1;
K=[1.2 1.6 2.0 2.4 2.8];
f=@(k,x) (k/c)*((x/c).^(k-1)).*exp(-(x/c).^k);
x=linspace(0,2.5,100);
hold on
for i=1:length(K)
plot(x,f(K(i),x),'displayName',num2str(K(i)))
end
ylim([0 1.2])
xlabel('x')
ylabel('f(x)')
title('Funcin de Weibull')
legend('-DynamicLegend','location','NorthEast')
hold off

La velocidad para la cual la funcin de distribucin de Weibull alcanza un mximo


se obtiene derivando f(x) e igualando a cero.
k c k exp[ ( x c ) k ] x k2 { (k1) k c k x k }=0 x max =c ( k1 k ) 1/k

El valor medio <x>

<x>= 0 xf(x)dx= 0 x k c ( x c ) k1 exp[ ( x c ) k ]dx= c 0 y 1


/k e ydy=c( 1+ 1 k )

Donde se ha hecho el cambio de variable y=(x/c)k,

La funcin gamma (x) se define

(x)= 0 e t t x1 dt

Si n es un nmero entero (n+1) =n! (factorial de n). Para otros valores x la


funcin gamma de MATLAB nos devuelve el valor de la integral.

Comprobamos en la ventana de comandos que el rea bajo la curva de cualquiera


de las grficas es la unidad, y que el valor medio <x>=c(1+1/k)

>> k=2.8;c=1;
>> f=@(x) (k/c)*((x/c).^(k-1)).*exp(-(x/c).^k);
>> quad(f,0,3) %area bajo la curva f(x)
ans = 1.0000
>> g=@(x) x.*f(x);
>> quad(g,0,3) %valor medio
ans = 0.8905
>> c*gamma(1+1/k) %valor medio
ans = 0.8905
La desvacin estndar

2 = 0 (x<x>) 2 f(x)dx= c 2 [ ( 1+ 2 k ) 2 ( 1+ 1 k ) ]

Otros resultados interesantes son los siguientes:

La probabilidad de que la velocidad del viento x sea mayor o igual que x0

P( x x 0 )= x 0 f(x)dx=exp[ ( x 0 c ) k ]

La probabilidad de que la velocidad del viento x este en el intervalo


comprendido entre x0y x1.

P( x 0 x< x 1 )= x 0 x 1 f(x)dx=exp[ ( x 0 c ) k ] exp[ ( x 1 c ) k ]

Representamos f(x) y calculamos la probabilidad P(x) en el intervalo (0.75, 1.25),


es decir, centrado en x=1 y de anchura 0.5

k=2.8;c=1;
f=@(x) (k/c)*((x/c).^(k-1)).*exp(-(x/c).^k);
x=linspace(0,3,100);
y=f(x);
hold on
plot(x,y,'r')
x0=0.75;x1=1.25;
xx=[x0 x0 x(x>x0 & x<x1) x1 x1];
yy=[0 f(x0) y(x>x0 & x<x1) f(x1) 0];
fill(xx,yy,'y');
res=quad(f,x0,x1)
prob=exp(-(x0/c)^k)-exp(-(x1/c)^k)
text(1.5, max(y)-0.1,num2str(res));
title('Probabilidad')
xlabel('x')
ylabel('f(x)')
hold off

Obtenemos el mismo resultado efectuando la integracin numrica de la funcin


de Weibull f(x) mediante la funcin quad, que a partir de la expresin de la
probabilidad P(x0xx1) deducida anteriormente.

Finalmente, la probabilidad acumulada F(x) vale

F(x)= 0 x f(x)dx=1exp[ ( x c ) k ]

Las funciones f(x) y F(x) tienen las siguientes caractersticas:

f(x) es una funcin continua que cambia rpidamente, alcanza un mximo y


vuelve a cero.
F(x) crece de forma continua tendiendo asintticamente a uno
Representamos esta funcin con c=1 y variando el parmetro k, creando script
similar al anterior, cambiando la definicin de la funcin de f(x) a F(x).

c=1;
K=[1.2 1.6 2.0 2.4 2.8];
f=@(k,x) 1-exp(-(x/c).^k);
x=linspace(0,2.5,100);
hold on
for i=1:length(K)
plot(x,f(K(i),x),'displayName',num2str(K(i)))
end
ylim([0 1.2])
xlabel('x')
ylabel('f(x)')
title('Probabilidad acumulada')
legend('-DynamicLegend','location','SouthEast')
hold off

Vous aimerez peut-être aussi