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

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

2220 Hemos obtenido. 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). 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.x.delta]=polyval(c.x. .x.x.2300 4. 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.’r:’. elegir una funci´n cuadr´tica del tipo e ı o a Calcular la funci´n f (x). Ahora volvemos a utilizar polyval.fxi+2*delta].s]=polyfit(x.5 9. .fxi+2*delta.’r:’) 3. 27 . dentro de la cual se encuentren los puntos de la tabla a a un nivel del 95 %.4 9.9900 delta = 0. Veamos en qu´ consiste: e Primero volvemos a utilizar el comando polyfit. dentro del cual se encuentra el valor yi .2220 0. El error.Otra forma consiste en calcular lo que se llama Error Cuadr´tico Medio.8800 0.5 9. en cada xi .1) c = 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.1942 0.8700 0.1100 5. α2 .fxi-2*delta.4 8.4 9. . de una forma diferente: >>[c.4 Ejercicio 1 Mediante el M´todo de M´nimos Cuadrados.fxi. αm ) − yi ] i=1 2 7.3500 s = R: [2x2 double] df: 2 normr: 0.1204 Por ultimo.y.’*’. >>plot(x.y. pero tambi´n e modificado: >>[fxi. α1 .’g-’.1942 1 n n [f (xi . . un intervalo de confianza al 95 %.^2)/n) errorcm = 0. [fxi-2*delta.s) fxi = 2.2408 s es la estructura con la que se va a calcular el error. 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).

8657 0.2 0.034 2.334 1.25 0.247 7.4 0.182 0.2 0.6 a) Representar la tabla de valores gr´ficamente. Y = 1 .54 0.Ejercicio 2 De ciertas medidas realizadas se han obtenido los siguientes valores: x y 0 0. Esta funci´n no la o ax + b podemos obtener directamente con el comando polyfit. o a c) Deshacer el cambio de variable y obtener la funci´n original y representarla con los valores del apartado a). o d) Calcular el error y el error cuadr´tico medio.667 0. Representarla despu´s con los valores.027 4. o o o 28 .63 0.333 0.286 0. Habr´ que hacer una nueva tabla de valores con las nuevas variables.4323 0.482 1. medido en m3 /kp: ı v p 3. Nos queda la expresi´n o y Y = aX + b Calcular esta funci´n.5 1 1. a Ejercicio 3 La tabla siguiente contiene la presi´n p en kp/cm2 de un vapor saturado.1699 0.1 27. Representarla junto a los datos de la tabla: t S 1 2 3 4 5 7.8 62. en funci´n del volumen o o espec´fico.164 11.5 4 4.5 5 1 0.833 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.1 110 161 (Indicaci´n: Tomar logaritmos neperianos en la funci´n para transformarla en una funci´n de tipo lineal). v.2646 0.5 2 2.222 0. b) Se puede observar que se trata aproximadamente de una funci´n del tipo y = o 1 = ax + b y Ahora. 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 3 3. haciendo X = x.48 17.167 1 . Pero la podemos transformar en.1146 0.

Sign up to vote on this title
UsefulNot useful