Prueba mat
Contenido
- 1 1.Dibujar los datos en una gráfica tiempo/temperatura.
- 2 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?
- 3 3.Ajustar los datos a una parábola T=a+bt+ct^2. Responder a las mismas preguntas que en el apartado anterior.
- 4 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
- 5 Dibujar los puntos
- 6 Dibujar una recta
- 7 Dibujar una parábola
- 8 Calcular el error cuadrático medio de la recta
1 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 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 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 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
5 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.
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]
6 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.
% 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
7 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]
% 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
8 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]
% 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)