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

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

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

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

Sign up to vote on this title
UsefulNot useful