Aproximación por mínimos cuadrados (Grupo 30)

De MateWiki
Revisión del 21:37 11 nov 2019 de Guillermo Izquierdo (Discusión | contribuciones) (Trabajo para la evaluación contínua de la asignatura de Matemáticas 1 del grado de Ingeniería de Materiales (ETSICCP))

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Se instala una estación para medir la calidad del aire en el barrio de Moratalaz (Madrid), que registra la densidad de partículas por metro cúbico a cada hora. Dicha estación obtiene los siguientes datos a lo largo de 24 horas.

horas µ/m^3
0 23.4
1 22.0
2 16.6
3 17.5
4 20.3
5 21.3
6 26.6
7 No Data
8 No Data
9 No Data
10 No Data
11 35.2
12 28.4
13 25.5
14 24.0
15 28.1
16 31.3
17 33.9
18 35.3
19 41.5
20 39.7
21 38.5
22 37.5
23 30.6

Entre la hora 7 y 10 se produjo un error en el dispositivo por lo que no se dispone de los datos en ese periodo de tiempo.

1 Datos y gráfica del muestreo

Usando matlab, se nombran dos variables con el nombre H. para las horas, y con el nombre D, para la densidad de partículas. Después se representan en una sola gráfica para la fácil visualización de los datos. Nota: Se omiten las horas para las que el dispositivo falló para no crear datos falsos.

Calidad del aire en el barrio de Moratalaz
H=[0 1 2 3 4 5 6] %creación de la primera parte de la matriz Horas
H2=[11 12 13 14 15 16 17 18 19 20 21 22 23]  %creación de la segunda parte de la matriz Horas
D=[23.4 22.0 16.6 17.5 20.3 21.3 26.6]
D2=[35.2 28.4 25.5 24.0 28.1 31.3 33.9 35.3 41.5 39.7 38.5 37.5 30.6]  %creación de la segunda parte de matriz Densidad
plot(H.',D.','r') 
xlabel('Hora (h)')
ylabel('Densidad de partículas (µ/m^3)')
title('Calidad del aire en Moratalaz')
grid
hold on %Esto sirve para poder poner una gráfica sobre otra
plot(H2, D,'r') %para crear la segunda parte de la gráfica)
grid  %Con esto estaría dibujada la gráfica


2 Cálculo y representación de una recta por mínimos cuadrados

2.1 Cálculo de la recta

Para calcular la recta que más se aproxima a los valores se utilizan los siguientes comandos:

{{matlab|codigo= hora=[0 1 2 3 4 5 6 11 12 13 14 15 16 17 18 19 20 21 22 23] %Se establecen los valores para la variable hora densidad=[23.4 22.0 16.6 17.5 20.3 21.3 26.6 35.2 28.4 25.5 24.0 28.1 31.3 33.9 35.3 41.5 39.7 38.5 37.5 30.6] %Se establecen los valores para la variable densidad plot(hora,densidad,'or') %Se sitúan los puntos en una gráfica C=polyfit(hora,densidad,1)  %Se crea un polinomio por mínimos cuadrados de grado 1 (una recta) que resulta. xx=linspace(0,25,100) %Se asignan 100 puntos al polinomio recién creado para crear la recta, en x. yy=polyval(C,xx) %Se asignan los valores de y a los puntos recién asignados. hold on plot(xx,yy,'r') %Se crea una gráfica sobre la anterior en la que se representa la recta.

La recta recién creada tiene como fórmula = y=0.8352*x + 18.7546

2.2 Cálculo del error cuadrático medio de la recta

Para conocer el error cuadrático medio hay que ejecutar el siguiente comando basándose en el programa anterior.

% añadir al programa anterior
error=(sum((densidad-yy).^2))/20


El resultado del error cuadrático medio en este caso es= 15.9805

2.3 Valor en 10 horas según la aproximación por mínimos cuadrados

Hay que sustituir la x en la fórmula obtenida anteriormente por un 10. Lo que hace que el resultado quede como y=0.8352*10 + 18.7546=

y=0.8352*10 + 18.7546=27.1066


Calidad del aire en Moratalaz. Recta por mínimos cuadrados
















3 Cálculo y representación de una parábola por mínimos cuadrados

Es posible que una parábola tenga menor error que la aproximación lineal que hemos hecho anteriormente, para ello vamos a crear una aproximación por mínimos cuadrados de grado 2, es decir, una parábola.

3.1 Cálculo de la parábola

Una parábola se obtiene prácticamente igual que el apartado anterior. La única diferencia es que hay que cambiar el '1' por el '2' en el comando polyfit para que salga un polinomio de grado dos al ejecutar el comando.

hora=[0 1 2 3 4 5 6 11 12 13 14 15 16 17 18 19 20 21 22 23] %Se establecen los valores para la variable hora
densidad=[23.4 22.0 16.6 17.5 20.3 21.3 26.6 35.2 28.4 25.5 24.0 28.1 31.3 33.9 35.3 41.5 39.7 38.5 37.5 30.6] %Se establecen los valores para la variable densidad
plot(hora,densidad,'or') %Se sitúan los puntos en una gráfica
C=polyfit(hora,densidad,1)  %Se crea un polinomio por mínimos cuadrados de grado 2 (una parábola) que resulta.
xx=linspace(0,25,100) %Se asignan 100 puntos al polinomio recién creado para crear la parábola, en x.
yy=polyval(C,xx) %Se asignan los valores de y a los puntos recién asignados.
hold on
plot(xx,yy,'r') %Se crea una gráfica sobre la anterior en la que se representa la parábola.


La ecuación de la parábola es: y= 0.0035x² + 0.7563x + 19.0035

3.2 Cálculo del error cuadrático medio de la parábola

Para conocer el error cuadrático medio que hemos conocido con esta aproximación se utiliza el mismo comando que se usó para la recta, pero aplicado para los datos de la parábola.

% añadir al programa anterior
error=(sum((densidad-yy).^2))/200


El error cuadrático medio en el caso de la parábola es= 15.9688

3.3 Valor en 10 horas según la aproximación por mínimos cuadrados

Para conocer el valor aproximado que tendría la densidad de partículas en la hora número 10 tenemos que sustituir x por 10 en la fórmula de la parábola.

%añadir al programa anterior
y= 0.0035*10^2 + 0.7563*10 + 19.0035

y= 0.0035*10^2 + 0.7563*10 + 19.0035 = 26.9165


Calidad del aire en Moratalaz. Parábola por mínimos cuadrados