Contents

EJERCICIO 1

%Función Factr
function f= factr(n)
if n==0;
    f=1;
else
    f=n*factr(n-1);
end
%Función Bernstein
function b=bernstein(n,i,t)
b=combina(n,i)*(t.^i).*((1-t).^(n-i));
%Función Combina
function c=combina(n,i)
c=factr(n)/(factr(i)*factr(n-i));
end

%Grafica Bernstein
t=0:0.01:1;
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);

%Grafica BernsteinGrado3
t=0:0.01:1;
n=3;
for i=0:n
b=bernstein(n,i,t);
plot(t,b);
xlabel('t');
ylabel('Polinomio de bernstein');
title('Polinomio de bernstein qr3');
legend('b_3_,_0','b_3_,_1','b_3_,_2','b_3_,_3');

hold on;
end

EJERCICIO 2

%Apartado A
[NUMEROS,TEXTO,RESTO]=xlsread('sotaventogaliciaanual.xlsx');
figure(2)
histogram(NUMEROS,0:25) %Empleamos histogram


%Apartado B
[NUMEROS,TEXTO,RESTO]=xlsread('sotaventogaliciaanual.xlsx');
k0=mean(NUMEROS);
c0=std(NUMEROS)^2;
y=histc(NUMEROS,0:25);
frecuencias=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));
af=nlinfit(x,frecuencias,f,a0);

xd=linspace(0,25);
yd=f(af,xd);
bar(0:25,frecuencias)
hold on
plot(xd,yd)

%Apartado C
[NUMEROS,TEXTO,RESTO]=xlsread('sotavento_curva potencia.xlsx');
velocidad=NUMEROS(:,1);
pot=NUMEROS(:,2);
xd=linspace(0,25);
yd=interp1(velocidad,pot,xd,'pchip');
plot(velocidad,pot,'*')
hold on
plot(xd,yd)


%Apartado D
%Apartado [NUMEROS,TEXTO,RESTO]=xlsread('sotaventogaliciaanual.xlsx');
k0=mean(NUMEROS);
c0=std(NUMEROS)^2;
BINS=0:25;
y=histc(NUMEROS,BINS);
frecuencias=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,frecuencias,f,a0);

%función de potencia
[NUMEROS,TEXTO,RESTO]=xlsread('sotavento_curva potencia.xlsx');
velocidad=NUMEROS(:,1);
pot=NUMEROS(:,2);
P=polyfit(velocidad,pot,3);
g=@(x) f(af,x).*polyval(P,x);
Potencia_media=quad(g,0,10)

EJERCICIO 3

m=20; %m
k=20; %k

x0=[1,0]; %[pos inical,v inicial]
tf=40; %tfinal
figure(3)
for c=[5,40,200]
    f=@(t,x) [x(2);(-k*x(1)-c*x(2))/(m)];
    [t,x]=ode45(f,[0,tf],x0);
    plot(t,x(:,1))
    hold on

end
legend('Constante de amortiguación 5','Constante de amortiguación 40','Constante de amortiguación 200')
grid on
xlabel('Tiempo (s)')
ylabel('Desplazamiento (m)');
title('Sistema masa-resorte-amortiguador')
Error using dbstatus
Error: File: C:\Users\docencia\Desktop\TareaSimulink\Ejercicio1.m Line: 133 Column: 1
The function "combina" was closed with an 'end', but at least one other function definition was not. To avoid confusion when using nested functions, it is illegal to use both conventions in the same file.