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

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

fxi+2*delta].1 9. de una forma diferente: >>[c.y.x.x.4 8.1100 5.4 9. un intervalo de confianza al 95 %.5 9. Ahora volvemos a utilizar polyval.fxi-2*delta.Otra forma consiste en calcular lo que se llama Error Cuadr´tico Medio. 27 .9900 delta = 0. Si representamos la gr´fica siguiente se entender´n de manera gr´fica los c´lculos que a a a a acabamos de realizar. El error.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 .s) fxi = 2.5 9. .s]=polyfit(x. .1942 1 n n [f (xi .’r:’.3500 s = R: [2x2 double] df: 2 normr: 0.’*’. αm ) − yi ] i=1 2 7. dentro del cual se encuentra el valor yi .^2)/n) errorcm = 0.fxi.fxi+2*delta. dentro de la cual se encuentren los puntos de la tabla a a un nivel del 95 %. 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.1) c = 1.2300 4. α1 . elegir una funci´n cuadr´tica del tipo e ı o a Calcular la funci´n f (x). Veamos en qu´ consiste: e Primero volvemos a utilizar el comando polyfit. . [fxi-2*delta.2220 0.1942 0.8800 0.4 9.delta]=polyval(c. 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). .2408 s es la estructura con la que se va a calcular el error.’g-’. 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).1204 Por ultimo.2220 Hemos obtenido.’r:’) 3.x.4 Ejercicio 1 Mediante el M´todo de M´nimos Cuadrados.8700 0. en cada xi . >>plot(x. pero tambi´n e modificado: >>[fxi. α2 .y.

1 27.2646 0. o d) Calcular el error y el error cuadr´tico medio. Representarla despu´s con los valores.034 2. Esta funci´n no la o ax + b podemos obtener directamente con el comando polyfit.482 1.25 0.286 0.5 2 2.667 0.5 3 3.4323 0. 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.8657 0.833 0.167 1 .222 0.027 4.Ejercicio 2 De ciertas medidas realizadas se han obtenido los siguientes valores: x y 0 0.182 0. Nos queda la expresi´n o y Y = aX + b Calcular esta funci´n.2 0. Y = 1 .1146 0.5 5 1 0.4 0.2 0. b) Se puede observar que se trata aproximadamente de una funci´n del tipo y = o 1 = ax + b y Ahora. a Ejercicio 3 La tabla siguiente contiene la presi´n p en kp/cm2 de un vapor saturado. Representarla junto a los datos de la tabla: t S 1 2 3 4 5 7. o a c) Deshacer el cambio de variable y obtener la funci´n original y representarla con los valores del apartado a). haciendo X = x. Pero la podemos transformar en.54 0.63 0.5 4 4.1 110 161 (Indicaci´n: Tomar logaritmos neperianos en la funci´n para transformarla en una funci´n de tipo lineal).164 11. Habr´ que hacer una nueva tabla de valores con las nuevas variables. medido en m3 /kp: ı v p 3. en funci´n del volumen o o espec´fico. v. 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.5 1 1.48 17.247 7.334 1. o o o 28 .333 0.1699 0.8 62.6 a) Representar la tabla de valores gr´ficamente.

Sign up to vote on this title
UsefulNot useful