Contents
Ejercicio 1
t=linspace(0,1);
V=[1 2 4 4.6;1 3 -1 1.5];
plot(V(1,:),V(2,:));
n=size(V);n=n(2);
s=size(t);s=s(2);
x=zeros(n,s);y=zeros(n,s);
for i=1:n
x(i,:)=bernstein(n-1,i-1,t)*V(1,i);
y(i,:)=bernstein(n-1,i-1,t)*V(2,i);
end
a=sum(x);b=sum(y);
hold on;
plot(a,b);
Ejercicio 2
clear,clc
velocidad=xlsread('sotaventogaliciaanual','Hoja1','B2:B52129');
if any(isnan(velocidad))
x=1:length(velocidad);
i=find(~isnan(velocidad));
velocidad=interp1(x(i),velocidad(i),x);
end
x=0.5:1:max(velocidad);
horas=hist(velocidad,x);
frec=horas/sum(horas);
f=@(a,x) (a(1)/a(2))*((x/a(2)).^(a(1)-1)).*exp(-(x/a(2)).^a(1));
a0=[2 8];
af=nlinfit(x,frec,f,a0)
hold on
bar(x,frec,'c');
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
potencia=0.5*1.225*sum(velocidad.^3)/length(velocidad);
fprintf('Potencia, directamente de las medidas: %3.1f\n',potencia);
media=mean(velocidad);
k=2.0486;c=9.4165;
potencia=0.5*1.225*media^3*gamma(1+3/k)/(gamma(1+1/k)^3);
fprintf('Potencia, función Weibull: %3.1f\n',potencia);
potencia=0.5*1.225*6*media^3/pi;
fprintf('Potencia, función Rayleigh: %3.1f\n',potencia);
Pr=1500; x0=3.0;xr=14;x1=25;
potencia=xlsread('sotavento_curva potencia','Hoja1','B2:B27')
x=0:0.5:25;
pot=potencia(x>=3 & x<=12);
hold on
x=x0:0.5:xr-2;
plot(x,pot,'ro','markersize',3,'markerfacecolor','r')
title('Ajuste de la curva de potencia de un aerogenerador');
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)
af =
2.3849 6.0208
Potencia, directamente de las medidas: 187.8
Potencia, función Weibull: 194.0
Potencia, función Rayleigh: 198.6
potencia =
1.0e+03 *
0
0
0
0
0.0321
0.0916
0.1725
0.2912
0.4393
0.6043
0.7706
0.9287
1.0722
1.1831
1.2501
1.2817
1.2940
1.2982
1.2995
1.2998
1.3000
1.3000
1.3000
1.3000
1.3000
1.3000
La potencia media es: 1028.4
Ejercicio 3
t0=0;tf=40;
periodo=[t0 tf];
cond_inicio=[1 0];
[t,x] = ode45('funcion_sistema',periodo,cond_inicio);
plot(t,x(:,1),'-o')
hold on
[t,x] = ode45('funcion_sistema2',periodo,cond_inicio);
plot(t,x(:,1),'-+')
[t,x] = ode45('funcion_sistema3',periodo,cond_inicio);
plot(t,x(:,1),'-*')
title('Sistema Masa-Resorte-Amortiguador con ODE45');
xlabel('Tiempo, t (s)');
ylabel('Desplazamiento, x (m)');
legend('c=5','c=40','c=200')
Ejercicio 4