% Apartado a)
X1 = xlsread('sotaventogaliciaanual.xlsx');
figure(1)
hist(X1,[0 5 10 15 20 25])

% Apartado b)
velocidad=xlsread('sotaventogaliciaanual.xlsx');
x=0.5:1:max(velocidad);
%Valores promedio
k=mean(velocidad);
%Cuadrado de la desviación estándar
c=std(velocidad);
%histograma
horas=hist(velocidad,x);
%convierte a frecuencias y ajusta a la función de Weibull
frec=horas/sum(horas);
f=@(a,x) (a(1)/a(2))*((x/a(2)).^(a(1)-1)).*exp(-(x/a(2)).^a(1));
a0=[k c^2];  %valor inicial de los parámetros
figure(2)
af=nlinfit(x,frec,f,a0);
hold on
%diagrama de frecuencias
bar(x,frec,'c');
%representa la curva de ajuste
x=linspace(0,max(velocidad),100);
y=f(af,x);
plot(x,y,'r')
title('Ajuste a la función Weibull')
xlabel('Velocidad')
ylabel('Frecuencia')
hold off
% Apartado c)
p = xlsread('sotavento_curva potencia.xlsx');
x=1:length(p);
v1=interp1(p(:,2),p(:,1));
v2=pchip(p(:,1),p(:,2),x);
figure(3)
plot(p(:,1),p(:,2))
hold on
plot(p(:,1),v1)
plot(p(:,1),v2)
title('Interpolación de la curva de potencia');
legend('Sin interpolar','Interp1','Pchip')
%Apartado d)
f=@(x) (k/c)*((x/c).^(k-1)).*exp(-(x/c).^k); %función de Weibull
h=@(x) f(x).*interp1(p(:,1),p(:,2),x,'pchip');
power=quad(h,0,25);
fprintf('La potencia media es: %3.1f\n',power)
La potencia media es: 0.6