Diferencia entre revisiones de «Aproximación por mínimos cuadrados (Grupo 13)»

De MateWiki
Saltar a: navegación, buscar
 
(No se muestra una edición intermedia del mismo usuario)
Línea 4: Línea 4:
  
 
{{matlab|codigo=coor=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 20 21 22 23; 11.6 11.7 10.3 11.6 11.8 12.1 11.7 13.8 14.7 16.9 17.5 19.1 19.0 20.1 21.4 20.1 17.9 15.1 14.5 13.5]
 
{{matlab|codigo=coor=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 20 21 22 23; 11.6 11.7 10.3 11.6 11.8 12.1 11.7 13.8 14.7 16.9 17.5 19.1 19.0 20.1 21.4 20.1 17.9 15.1 14.5 13.5]
figure(1)
+
figure(1)
 
plot(coor(1,:),coor(2,:),'o','MarkerFaceColor','b')
 
plot(coor(1,:),coor(2,:),'o','MarkerFaceColor','b')
 
axis([0,23,10,23])
 
axis([0,23,10,23])
Línea 15: Línea 15:
 
B=[ones(20,1),coor(1,:)']
 
B=[ones(20,1),coor(1,:)']
 
p=(B'*B)\(B'*b)
 
p=(B'*B)\(B'*b)
 
 
x=0:0.1:24;
 
x=0:0.1:24;
 
y=p(1)+p(2)*x;
 
y=p(1)+p(2)*x;
Línea 31: Línea 30:
  
 
{{matlab|codigo=A=[ones(20,1),coor(1,:)', coor(1,:).^2' ]
 
{{matlab|codigo=A=[ones(20,1),coor(1,:)', coor(1,:).^2' ]
 
 
j=(A'*A)\(A'*b)
 
j=(A'*A)\(A'*b)
 
 
w=0:0.1:24;
 
w=0:0.1:24;
 
s=8.3170 + 1.4121*w -0.0494*w.^2;
 
s=8.3170 + 1.4121*w -0.0494*w.^2;
Línea 64: Línea 61:
 
== La gráfica tiempo/Temperatura con las distintas aproximaciones ==
 
== La gráfica tiempo/Temperatura con las distintas aproximaciones ==
  
[[Archivo:Grafica13.jpg|1100px|miniaturadeimagen]]
+
[[Archivo:Grafica13.jpg|900px|miniaturadeimagen]]
  
 
[[Categoría:Matemáticas I]]
 
[[Categoría:Matemáticas I]]
 
[[Categoría:MatI/19]]
 
[[Categoría:MatI/19]]

Revisión actual del 02:30 13 nov 2019


1 Dibujar los datos en una gráfica tiempo/temperatura.

coor=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 20 21 22 23; 11.6 11.7 10.3 11.6 11.8 12.1 11.7 13.8 14.7 16.9 17.5 19.1 19.0 20.1 21.4 20.1 17.9 15.1 14.5 13.5]
figure(1)
plot(coor(1,:),coor(2,:),'o','MarkerFaceColor','b')
axis([0,23,10,23])
xlabel('horas')
ylabel('temperatura')


2 Ajustar los datos a una recta T=a+bt usando el método de mínimos cuadrados. Calcular el error cuadrático medio de la aproximación. ¿Qué valor predice para la temperatura a las 17:00?

b=coor(2,:)'
B=[ones(20,1),coor(1,:)']
p=(B'*B)\(B'*b)
x=0:0.1:24;
y=p(1)+p(2)*x;
hold on
plot(x,y)


  • Para las 17 horas la recta T=12.5070 + 0.2634x predice una temperatura de 16.98ºC
yp=p(1)+p(2)*coor(1,:);
error=1/20*sum((coor(2,:)-yp).^2)


  • Error cuadrático medio= 8.2660

3 Ajustar los datos a una parábola T=a+bt+ct^2. Responder a las mismas preguntas que en el apartado anterior.

A=[ones(20,1),coor(1,:)', coor(1,:).^2' ]
j=(A'*A)\(A'*b)
w=0:0.1:24;
s=8.3170 + 1.4121*w -0.0494*w.^2;
hold on
plot(w,s)


  • Para las 17 horas la parábola T=8.3170 + 1.4121w - 0.0494w^2 predice una temperatura de 18.05ºC
yj=j(1)+j(2)*coor(1,:)+j(3)*coor(1,:).^2;
error_p=1/20*sum((coor(2,:)-yj).^2)


  • Error cuadrático medio= 3.0781

4 Ajustar los datos a una función del tipo T=a+b*cos(2pi*1t/24)+c*sen(2pi*t/24). Responder a las mismas preguntas que en el apartado anterior

D=[ones(20,1),cos(2*pi*coor(1,:)'/24),sin(2*pi*coor(1,:)'/24) ]
l=(D'*D)\(D'*b)
u=0:0.1:24;
o=15.9338 - 3.6796*cos(2*pi*u'/24) - 3.2747*sin(2*pi*u'/24);
plot(u,o)


  • Para las 17 horas la función periodica T=15.9338 - 3.6796cos(2pi*u'/24) - 3.2747sin(2pi*u'/24) predice una temperatura de 20.05ºC
yl=l(1)+l(2)*cos(2*pi*coor(1,:)/24)+l(3)*sin(2*pi*coor(1,:)/24);
error_s=1/20*sum((coor(2,:)-yl).^2)


  • Error cuadrático medio= 0.3109

5 La gráfica tiempo/Temperatura con las distintas aproximaciones

Grafica13.jpg