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

Pr´ctica 7 a

1.

Introducci´n o

El M´todo de ajuste por M´ e ınimos Cuadrados sirve para encontrar una funci´n y = f (x, α 1 , α2 , . . . , αm ), en la o que habr´ que calcular los par´metros α1 , α2 , . . . , αm . Esta funci´n 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 par´metros se impone la condici´n de que sea m´ a o ınima la funci´n o
n

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

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

2

Como S(α1 , α2 , . . . , αm ) es una funci´n de m variables, una condici´n 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 inc´gnitas: o ∂S = 0, ∂α1 ∂S = 0, ∂α2 ..., ∂S =0 ∂αm

cuyas soluciones, los par´metros α1 , α2 , . . . , αm nos indican c´mo es la funci´n que mejor se ajusta a los datos, a o o es decir, f (x, α1 , α2 , . . . , αm ). La funci´n f (x, α1 , α2 , . . . , αm ) puede ser de cualquier tipo, te´ricamente, sin embargo, en la pr´ctica, con o o a programas como MATLAB (o DERIVE) s´lo se pueden calcular (directamente) cuando la funci´n es un polinomio. o o En otros casos, que veremos en los ejercicios, habr´ que modificar ligeramente el problema para que se pueda tratar a con el ordenador. Para realizar estos c´lculos MATLAB dispone del comando polyfit. Veamos en un ejemplo c´mo 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 funci´n de la forma y = ax + b que mejor se ajuste a los datos. o Como se trata de una funci´n polin´mica 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 coeficientes de la recta: c = 1.8800 0.3500

25

1100 5. Generamos una tabla. con asteriscos o con cualquier otro formato. αm ): o Primero calculamos los valores de f (xi . . . por ejemplo: >>plot(x. y = 1. el valor de la funci´n: S(α1 .35 Para representar la informaci´n obtenida gr´ficamente: o a Primero dibujamos la tabla de valores.x) fxi = 2.5 2 2.88x+0.35 podemos utilizar el comando polyval que eval´a el polinomio utilizando los coeficientes.5 3 3. (que llamaremos o con un nombre diferente de x para no borrar la tabla de los datos del problema): >>xp=linspace(1.35 El error que se comete al aproximar la funci´n emp´ o ırica (tabla inicial) por la funci´n te´rica (recta) se puede o o cuantificar de varias formas.2300 4. Una manera es precisamente calcular la suma de las desviaciones en cada punto de la tabla al cuadrado. α1 . .Es decir.0580 26 . lo hacemos como para dibujar cualquier funci´n.’*’) De esta forma conseguimos que dibuje s´lo los puntos. α2 . por ultimo. α2 . que ten´ u ıamos en la variable c: >>yp=polyval(c. que la recta que hemos encontrado es. . o Para dibujar la recta.8700 Y ahora sustituimos en la f´rmula: o >>error=sum((fxi-y).20). . αm ): >>fxi=polyval(c.35 4 3 2 1 1. . .yp) Y nos aparece el dibujo de la figura 2.88x + 0. ´ plot(xp.4. es decir.88x + 0. >>hold on % para mantener el dibujo anterior Y. . 8 7 6 5 y=1.88x + 0.xp). Para para calcular los valores de xp en la recta y = 1.y.9900 7.^2) error = 0.5 4 Figura 2: Tabla y Recta y = 1.

fxi+2*delta].x.’g-’. α1 . Si representamos la gr´fica siguiente se entender´n de manera gr´fica los c´lculos que a a a a acabamos de realizar.fxi. en cada xi . . de una forma diferente: >>[c.s) fxi = 2.1) c = 1. α2 . [fxi-2*delta.4 9.8700 0.Otra forma consiste en calcular lo que se llama Error Cuadr´tico Medio.’r:’.y.’*’.4 9.y.5 9.2300 4.s]=polyfit(x.x. >>plot(x. que viene dado por la expresi´n: a o ε= Para calcularlo: >>n=length(x) % calcula el n’umero de t’erminos n = 4 >>errorcm=sqrt(sum((fxi-y).4 8. .1204 Por ultimo.9900 delta = 0.delta]=polyval(c.2220 0.1942 0.x.1100 5. 27 .8800 0. αm ) − yi ] i=1 2 7. El error. Veamos en qu´ consiste: e Primero volvemos a utilizar el comando polyfit.2408 s es la estructura con la que se va a calcular el error. pero tambi´n e modificado: >>[fxi.3500 s = R: [2x2 double] df: 2 normr: 0.^2)/n) errorcm = 0. Ahora volvemos a utilizar polyval.fxi-2*delta. un intervalo de confianza al 95 %. .5 9. dentro de la cual se encuentren los puntos de la tabla a a un nivel del 95 %.fxi+2*delta.2220 Hemos obtenido. el error cuadr´tico medio y representar la funci´n obtenida junto a los datos o a o de la tabla con una banda alrededor de la gr´fica de f (x). se pueden utilizar los c´digos que llevan incorporados los comandos polyfit y polyval para obtener ´ o un intervalo de confianza al 95 % en el que se encuentra cada yi .1 9.’r:’) 3.x. elegir una funci´n cuadr´tica del tipo e ı o a Calcular la funci´n f (x). . dentro del cual se encuentra el valor yi .1942 1 n n [f (xi . 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 Ejercicio 1 Mediante el M´todo de M´nimos Cuadrados.

027 4.247 7.1146 0.1699 0. b) Se puede observar que se trata aproximadamente de una funci´n del tipo y = o 1 = ax + b y Ahora.167 1 . o d) Calcular el error y el error cuadr´tico medio. haciendo X = x. Y = 1 . o a c) Deshacer el cambio de variable y obtener la funci´n original y representarla con los valores del apartado a).2 0. Representarla despu´s con los valores.8657 0. Esta funci´n no la o ax + b podemos obtener directamente con el comando polyfit.5 4 4.482 1.286 0. medido en m3 /kp: ı v p 3. a Ejercicio 3 La tabla siguiente contiene la presi´n p en kp/cm2 de un vapor saturado.25 0.222 0. e Seg´n esta funci´n ¿Cu´l ser´a la presi´n aproximada que corresponder´a a un volumen de 3m 3 /kp? u o a ı o ı Ejercicio 4 Hallar por el M´todo de M´nimos Cuadrados una funci´n del tipo S = At q para los datos de la e ı o siguiente tabla.182 0.5 1 1.5 2 2.2646 0.48 17.5 5 1 0. Pero la podemos transformar en. a Elegir una funci´n p = f (v) que sea adecuada a la tabla de valores y calcularla con el M´todo de M´nimos o e ı Cuadrados.667 0.4323 0. Nos queda la expresi´n o y Y = aX + b Calcular esta funci´n.334 1. o o o 28 . Representarla junto a los datos de la tabla: t S 1 2 3 4 5 7.5 3 3. en funci´n del volumen o o espec´fico.4 0. v.333 0.034 2.833 0. Habr´ que hacer una nueva tabla de valores con las nuevas variables.1 27.63 0.1 110 161 (Indicaci´n: Tomar logaritmos neperianos en la funci´n para transformarla en una funci´n de tipo lineal).164 11.6 a) Representar la tabla de valores gr´ficamente.Ejercicio 2 De ciertas medidas realizadas se han obtenido los siguientes valores: x y 0 0.54 0.8 62.2 0.

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.