Ejercicio 2

Contents

apartado a

distriWeibull=xlsread('sotaventogaliciaanual.xlsx');
interv=linspace(0,25,25);
hist(distriWeibull,interv);

Ejercicio 2

apartado b

v=xlsread('sotaventogaliciaanual.xlsx');
x=0.5:1:max(v);
prome=mean(v);
destd=std(v);
intervalo=hist(v,x);

Deberemos convertir las frecuencias y asi poder ajustar la distribucion de Weibull

frecuencia=intervalo/sum(intervalo);
f=@(a,x) (a(1)/a(2))*((x/a(2)).^(a(1)-1)).*exp(-(x/a(2)).^a(1));
a0=[prome destd^2];
af=nlinfit(x,frecuencia,f,a0)
hold on
af =

    2.3849    6.0208

diagrama de frecuencias

bar(x,frecuencia,'y')

representa la curva de ajuste

x=linspace(0,max(v),100);
y=f(af,x);
plot(x,y,'r')
title('Ajuste a la función Weibull')

Ejercicio 2

apartado c

Pr=1300; x0=3.0;xf=20;x1=25; %datos de la curva de potencia
k=2.3849; c=6.0208; %parametros weibul calculados anteriormente
potencia=xlsread('sotavento_curva_potencia.xlsx','B2:B27');
x=0:1:25;
pot=potencia(x>=x0 & x<=xf);
hold on
x=x0:1:xf;
plot(x,pot,'ro','markersize',3,'markerfacecolor','r')
title('Ajuste potencia de un aerogenerador');
axis([-10 50 -50 1550])
xlabel('velocidad')
ylabel('potencia')
grid on

%ajuste
p=polyfit(x,pot',3); %ajuste a un polinomio de tercer grado
yp=polyval(p,x);
plot(x,yp,'k')
hold off


%%apartado d)
%cálculo de la potencia media
Pr=1300; x0=3.0;xr=20;x1=25; %datos de la curva de potencia
k=2.3849; c=6.0208; %parametros weibul calculados anteriormente
potencia=xlsread('sotavento_curva_potencia.xlsx','B2:B27');
x=0:1:25;
pot=potencia(x>=x0 & x<=xr);
x=x0:1:xr;


p=polyfit(x,pot',3); %ajuste a un polinomio de tercer grado
%calculo de la potencia media
f=@(x) (k/c)*((x/c).^(k-1)).*exp(-(x/c).^k); %función de Weibull
h=@(x) f(x).*polyval(p,x);
power=quad(h,x0,xr)+Pr*quad(f,xr,x1);
fprintf('La potencia media es: %3.1f\n',power)
% La potencia media es: 203.4
La potencia media es: 203.4