Contents
EJERCICIO 1
function f= factr(n)
if n==0;
f=1;
else
f=n*factr(n-1);
end
function b=bernstein(n,i,t)
b=combina(n,i)*(t.^i).*((1-t).^(n-i));
function c=combina(n,i)
c=factr(n)/(factr(i)*factr(n-i));
end
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);
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');
figure(1)
hold on;
end
EJERCICIO 2
[NUMEROS,TEXTO,RESTO]=xlsread('sotaventogaliciaanual.xlsx');
figure(2)
histogram(NUMEROS,0:25)
[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)
[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)
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));
af=nlinfit(x,frecuencias,f,a0);
[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;
k=20;
x0=[1,0];
tf=40;
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\Jorge\JorgeLandaluce.m Line: 134 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.