v=xlsread('sotaventogaliciaanual.xlsx');
figure(1)
plot(v); grid on; title('Velocidad del viento')
figure(2);
hd=0:1:25;
hist(v,hd); grid on; title('Velocidad del viento')
figure(3)
if any(isnan(v))
x=1:length(v);
i=find(~isnan(v));
v=interp1(x(i),dw(i),x);
end
x=0:1:max(v);
h=hist(v,x); grid on
fr=h/sum(h);
f=@(a,x)(a(1)/a(2))*((x/a(2)).^(a(1)-1)).*exp(-(x/a(2)).^a(1));
a0=[2 8];
a=nlinfit(x,fr,f,a0);
hold on
bar(x,fr)
x=linspace(0,max(v),100);
y=f(a,x);
plot(x,y,'r','Linewidth',2)
title('Ajuste con Weibull'); xlabel('Velocidad');
hold off
figure(4)
Pr=1300; x0=3; xr=20; x1=25;
k=2.3849; c=6.0208;
potencia=xlsread('sotavento_curva potencia.xlsx','B2:B27');
x=0:1:25;
pot=potencia(x>=x0 & x<=xr);
hold on
x=x0:1:xr;
plot(x,pot,'r*','markersize',5,'markerfacecolor','r')
title('Ajuste de la curva de potencia de un generador');
axis([0 15 -10 1550])
xlabel('Velocidad')
ylabel('Potencia')
grid on
p=polyfit(x,pot',3);
yp=polyval(p,x);
plot(x,yp,'k')
hold off
f=@(x) (k/c)*((x/c).^(k-1)).*exp(-(x/c).^k);
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)
v=xlsread('sotaventogaliciaanual.xlsx');
if any(isnan(v))
x=1:length(v);
i=find(~isnan(v));
v=interp1(x(i),v(i),x);
end
x=0.5:1:max(v);
h=hist(v,x);
fr=h/sum(h);
f=@(a,x) (a(1)/a(2))*((x/a(2)).^(a(1)-1)).*exp(-(x/a(2)).^a(1));
a0=[2 8];
a=nlinfit(x,fr,f,a0);
k=a(1), c=a(2)
fprintf('Parámetros Weibull: k=%1.4f, c=%1.4f\n',k,c)
La potencia media es: 203.4
k =
2.3849
c =
6.0208
Parámetros Weibull: k=2.3849, c=6.0208