You are on page 1of 4

Departamento de Matemtica Aplicada a CALCULO COMPUTACIONAL. Licenciatura en Qu mica (Curso 2005-06) M nimos Cuadrados.

Prctica 7 a

1.

Introduccin o

El Mtodo de ajuste por M e nimos Cuadrados sirve para encontrar una funcin y = f (x, 1 , 2 , . . . , m ), en la o que habr que calcular los parmetros 1 , 2 , . . . , m . Esta funcin debe ser la que se ajuste lo mejor posible a una a a o tabla de valores que relaciona las dos variables x e y obtenida experimentalmente: x x1 y y1 x2 y2 . . . xn . . . yn

Para calcular los parmetros se impone la condicin de que sea m a o nima la funcin o
n

S(1 , 2 , . . . , m ) =
i=1

[f (xi , 1 , 2 , . . . , m ) yi ]

Como S(1 , 2 , . . . , m ) es una funcin de m variables, una condicin necesaria para que tenga un valor extremo o o en un punto es que sus derivadas parciales en ese punto sean todas nulas. De aqu obtenemos un sistema de m ecuaciones, con m incgnitas: o S = 0, 1 S = 0, 2 ..., S =0 m

cuyas soluciones, los parmetros 1 , 2 , . . . , m nos indican cmo es la funcin que mejor se ajusta a los datos, a o o es decir, f (x, 1 , 2 , . . . , m ). La funcin f (x, 1 , 2 , . . . , m ) puede ser de cualquier tipo, tericamente, sin embargo, en la prctica, con o o a programas como MATLAB (o DERIVE) slo se pueden calcular (directamente) cuando la funcin es un polinomio. o o En otros casos, que veremos en los ejercicios, habr que modicar ligeramente el problema para que se pueda tratar a con el ordenador. Para realizar estos clculos MATLAB dispone del comando polyfit. Veamos en un ejemplo cmo se puede a o ajustar una recta con M nimos Cuadrados:

2.

Ejemplo
Dada la tabla de valores, x y 1 2 3 4 2,1 4,3 6 7,8

Encontrar la funcin de la forma y = ax + b que mejor se ajuste a los datos. o Como se trata de una funcin polinmica se puede hacer directamente. o o Introducimos primero la tabla de valores en dos variables: >>x=[1 2 3 4] >>y=[2.1 4.3 6 7.8] El comando a utilizar es polyfit(x,y,n), donde n es el grado del polinomio que queremos obtener. Por lo tanto para obtener una recta n = 1: >>c=polyfit(x,y,1) Que nos da como resultado los coecientes de la recta: c = 1.8800 0.3500

25

Es decir, que la recta que hemos encontrado es, y = 1,88x + 0,35 Para representar la informacin obtenida grcamente: o a Primero dibujamos la tabla de valores, por ejemplo: >>plot(x,y,*) De esta forma conseguimos que dibuje slo los puntos, con asteriscos o con cualquier otro formato. o Para dibujar la recta, lo hacemos como para dibujar cualquier funcin. Generamos una tabla, (que llamaremos o con un nombre diferente de x para no borrar la tabla de los datos del problema): >>xp=linspace(1,4,20); Para para calcular los valores de xp en la recta y = 1,88x + 0,35 podemos utilizar el comando polyval que evala el polinomio utilizando los coecientes, que ten u amos en la variable c: >>yp=polyval(c,xp); >>hold on % para mantener el dibujo anterior Y, por ultimo, plot(xp,yp) Y nos aparece el dibujo de la gura 2.
8

5 y=1.88x+0.35

1.5

2.5

3.5

Figura 2: Tabla y Recta y = 1,88x + 0,35 El error que se comete al aproximar la funcin emp o rica (tabla inicial) por la funcin terica (recta) se puede o o cuanticar de varias formas. Una manera es precisamente calcular la suma de las desviaciones en cada punto de la tabla al cuadrado, es decir, el valor de la funcin: S(1 , 2 , . . . , m ): o Primero calculamos los valores de f (xi , 1 , 2 , . . . , m ): >>fxi=polyval(c,x) fxi = 2.2300 4.1100 5.9900 7.8700

Y ahora sustituimos en la frmula: o >>error=sum((fxi-y).^2) error = 0.0580 26

Otra forma consiste en calcular lo que se llama Error Cuadrtico Medio, que viene dado por la expresin: a o = Para calcularlo: >>n=length(x) % calcula el numero de terminos n = 4 >>errorcm=sqrt(sum((fxi-y).^2)/n) errorcm = 0.1204 Por ultimo, se pueden utilizar los cdigos que llevan incorporados los comandos polyfit y polyval para obtener o un intervalo de conanza al 95 % en el que se encuentra cada yi . Veamos en qu consiste: e Primero volvemos a utilizar el comando polyfit, de una forma diferente: >>[c,s]=polyfit(x,y,1) c = 1.8800 0.3500 s = R: [2x2 double] df: 2 normr: 0.2408 s es la estructura con la que se va a calcular el error. Ahora volvemos a utilizar polyval, pero tambin e modicado: >>[fxi,delta]=polyval(c,x,s) fxi = 2.2300 4.1100 5.9900 delta = 0.2220 0.1942 0.1942 1 n
n

[f (xi , 1 , 2 , . . . , m ) yi ]
i=1

7.8700 0.2220

Hemos obtenido, en cada xi , un intervalo de conanza al 95 %, [fxi-2*delta,fxi+2*delta], dentro del cual se encuentra el valor yi . Si representamos la grca siguiente se entendern de manera grca los clculos que a a a a acabamos de realizar. >>plot(x,y,*,x,fxi,g-,x,fxi+2*delta,r:,x,fxi-2*delta,r:)

3.

Ejercicios
f (x) = ax2 + bx + c para los valores de x e y dados por la siguiente tabla x y 7 8 9 10 11 12 13 7,4 8,4 9,1 9,4 9,5 9,5 9,4

Ejercicio 1 Mediante el Mtodo de Mnimos Cuadrados, elegir una funcin cuadrtica del tipo e o a

Calcular la funcin f (x). El error, el error cuadrtico medio y representar la funcin obtenida junto a los datos o a o de la tabla con una banda alrededor de la grca de f (x), dentro de la cual se encuentren los puntos de la tabla a a un nivel del 95 %.

27

Ejercicio 2 De ciertas medidas realizadas se han obtenido los siguientes valores: x y 0 0,2 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5 1 0,833 0,667 0,54 0,4 0,333 0,286 0,25 0,222 0,2 0,182 0,167

1 . Esta funcin no la o ax + b podemos obtener directamente con el comando polyfit. Pero la podemos transformar en, b) Se puede observar que se trata aproximadamente de una funcin del tipo y = o 1 = ax + b y Ahora, haciendo X = x; Y = 1 . Nos queda la expresin o y Y = aX + b Calcular esta funcin. Habr que hacer una nueva tabla de valores con las nuevas variables. o a c) Deshacer el cambio de variable y obtener la funcin original y representarla con los valores del apartado a). o d) Calcular el error y el error cuadrtico medio. a Ejercicio 3 La tabla siguiente contiene la presin p en kp/cm2 de un vapor saturado, en funcin del volumen o o especco, v, medido en m3 /kp: v p 3,334 1,63 0,8657 0,4323 0,2646 0,1699 0,1146 0,482 1,034 2,027 4,247 7,164 11,48 17,6

a) Representar la tabla de valores grcamente. a

Elegir una funcin p = f (v) que sea adecuada a la tabla de valores y calcularla con el Mtodo de Mnimos o e Cuadrados. Representarla despus con los valores. e Segn esta funcin Cul sera la presin aproximada que correspondera a un volumen de 3m 3 /kp? u o a o Ejercicio 4 Hallar por el Mtodo de Mnimos Cuadrados una funcin del tipo S = At q para los datos de la e o siguiente tabla. Representarla junto a los datos de la tabla: t S 1 2 3 4 5 7,1 27,8 62,1 110 161

(Indicacin: Tomar logaritmos neperianos en la funcin para transformarla en una funcin de tipo lineal). o o o

28

You might also like