|
|
| Línea 1: |
Línea 1: |
| − | {{ Trabajo | Aproximación por mínimos cuadrados. Grupo 13 | [[:Categoría:Matemáticas I|Matemáticas I]]|[[:Categoría:MatI/19|Curso 2019-20]] | Leo Coronel, Alex Robles, Alejandro Lomas }}
| |
| | | | |
| − | == 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 ==
| |
| − |
| |
| − |
| |
| − | == Dibujar los puntos ==
| |
| − | Seguieremos los siquientes pasos
| |
| − |
| |
| − | # Generamos una matriz que contenga por columnas las coordenadas de los puntos
| |
| − | # Dibujamos los puntos con el comando plot.
| |
| − | # Ajustamos los ejes.
| |
| − |
| |
| − | {{matlab|codigo=
| |
| − | coor=[1 2 -1 3;1 -1 1 0]; % coordenadas de los puntos
| |
| − | figure(1) % abrimos una pantalla para dibujar
| |
| − | plot(coor(1,:),coor(2,:),'o','MarkerFaceColor','b') % Dibuja los puntos
| |
| − | axis([-2,4,-2,2]) % selecciona la region para dibujar [-2,4]x[-2,2]
| |
| − | }}
| |
| − |
| |
| − | == Dibujar una recta ==
| |
| − |
| |
| − | Ahora vamos a dibujar la recta. Los pasos son:
| |
| − |
| |
| − | # Generamos un vector con una serie de valores equidistribuidos en un intervalo. En este caso [-2,4]
| |
| − | # Calculamos las imágenes por la función <math> y(x)=-1/2+\frac{x}{4} </math>
| |
| − | # Dibujamos con plot.
| |
| − |
| |
| − | {{matlab|codigo=
| |
| − | % añadir al programa anterior
| |
| − | x=-2:0.01:4; % coordenadas x de los puntos
| |
| − | y=-1/2+1/4*x; % imágenes
| |
| − | figure(1) % abrimos una pantalla para dibujar
| |
| − | hold on % para que no borre lo ya dibujado
| |
| − | plot(x,y) % Dibuja la gráfica
| |
| − | }}
| |
| − |
| |
| − | == Dibujar una parábola ==
| |
| − |
| |
| − | Si queremos añadir otra curva seguiríamos el mismo proceso. Por ejemplo, la función <math> y(x)=-1/2+\frac{x^2}{4} </math>
| |
| − |
| |
| − | {{matlab|codigo=
| |
| − | % añadir al programa anterior
| |
| − | x=-2:0.01:4; % coordenadas x de los puntos
| |
| − | y=-1/2+1/4*x.^2; % imágenes
| |
| − | figure(1) % abrimos una pantalla para dibujar
| |
| − | hold on % para que no borre lo ya dibujado
| |
| − | plot(x,y) % Dibuja la gráfica
| |
| − | }}
| |
| − |
| |
| − | == Calcular el error cuadrático medio de la recta ==
| |
| − |
| |
| − | Vamos ahora a calcular el error cuadrático medio entre los puntos y la primera recta. Si escribimos las coordenadas de los puntos como <math> \{ (x_i,y_i) \}_{i=1}^N </math> (en nuestro caso tenemos sólo 4 puntos así que <math> N=4 </math>) el error cuadrático medio es
| |
| − |
| |
| − | <math> \frac1N \sum_{i=1}^N |y_i-y(x_i)|^2 </math>
| |
| − |
| |
| − | {{matlab|codigo=
| |
| − | % añadir a los programas anteriores
| |
| − | yp=-1/2+1/4*coor(1,:).^2; % imágenes y(x_i)
| |
| − | error=1/4*sum((coor(2,:)-yp).^2)
| |
| − | }}
| |
| − |
| |
| − |
| |
| − | [[Categoría:Grado en Ingeniería de Materiales]]
| |
| − | [[Categoría:MatI/19]]
| |
| − | [[Categoría:Matemáticas I]]
| |