ejercicio1

% function b=bernstein(n,i,t)
%     b=combina(n,i)*t.^i .*(1-t).^(n-i);
% end
%
% function c=combina(n,i)
%     c=factr(n)/(factr(i)*factr(n-i));
% end
%
% function f=factr(n)
%     if n==0
%         f=1;
%     else
%         f=n*factr(n-1);
%     end
%
% end
%
% t=linspace(0,1,20);
% n=3;
% for i=0:3
%     b=bernstein(n,i,t);
%     hold on
%     plot(t,b)
% end
% legend('b0','b1','b2','b3')
% title('Gráfica de polinomios Bernstein n=3')


t=linspace(0,1,100);
V =[1, 2, 4, 4.6; 1, 3, -1, 1.5];
plot(V(1,:),V(2,:),'-o')
n=size(V);
n=n(2);
s=size(t);
x=zeros(n,s(2));
y=zeros(n,s(2));
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)



t=linspace(0,1,20);
n=3;
for i=0:3
    b=bernstein(n,i,t);
    hold on
    plot(t,b)
end
legend('b0','b1','b2','b3')
title('Gráfica de polinomios Bernstein n=3')
hold off

ejercicio2A

figure(2)
[N,T,R]=xlsread('sotaventogaliciaanual.xlsx');
histogram(N,0:20)

ejercicio2 B

figure(3)
[N,T,R]=xlsread('sotaventogaliciaanual.xlsx');
c0=std(N)^2;
k0=mean(N);
a0=[c0 k0];
y=histc(N,0:25);
frec=y/sum(y);
x=0:25;
x=x';
f=@(a,x) (a(1)/a(2))*((x/a(2)).^(a(1)-1)).*exp(-(x/a(2)).^a(1));
af=nlinfit(x,frec,f,a0);


x1=linspace(0,25);
y1=f(af,x1);
bar(0:25,frec)
hold on
plot(x1,y1)

ejercicio2 C

figure(4)
[N,T,R]=xlsread('sotavento_curva potencia.xlsx');
v=N(:,1);
p=N(:,2);
x1=linspace(0,25);
y1=interp1(v,p,x1,'pchip');
plot(v,p,'*')
hold on
plot(x1,y1)

ejercicio2 D

[N,T,R]=xlsread('sotaventogaliciaanual.xlsx');
k0=mean(N);
c0=std(N)^2;
B=0:25;
y=histc(N,B);
frec=y/sum(y);
a0=[c0 k0];
x=0:25;
x=x';
f=@(a,x) (a(1)/a(2))*((x/a(2)).^(a(1)-1)).*exp(-(x/a(2)).^a(1)); %distribución de weibull
af=nlinfit(x,frec,f,a0);

%función de potencia
[N,T,R]=xlsread('sotavento_curva potencia.xlsx');
v=N(:,1);
p=N(:,2);
P=polyfit(v,p,3);
g=@(x) f(af,x).*polyval(P,x);
Potencia_Media=quad(g,0,10)
Potencia_Media =

  197.2897

ejercicio3

m=20;
k=20;
c=5;
c1=40;
c2=200;
xa=1;
va=0;
x0=[xa,va];
tf=40;
f=@(t,x) [x(2);-c*x(2)/m-k*x(1)/m];
[t,x]=ode45(f,[0,tf],x0);
plot(t,x(:,1))

grid on
xlabel('t')
ylabel('x')
title('sistema masa-resorte-amortiguador')
hold on
f1=@(t,x) [x(2);-c1*x(2)/m-k*x(1)/m];
[t,x]=ode45(f1,[0,tf],x0);
plot(t,x(:,1))

f2=@(t,x) [x(2);-c2*x(2)/m-k*x(1)/m];
[t,x]=ode45(f2,[0,tf],x0);
plot(t,x(:,1))