Está en la página 1de 4

1. Mı́nimos Cuadrados.

El Método de ajuste por Mı́nimos Cuadrados sirve para encontrar una función y = f (x, α1 , α2 , . . . , αm ), en la
que habrá que calcular los parámetros α1 , α2 , . . . , αm . Esta función debe ser la que se ajuste lo mejor posible a una
tabla de valores que relaciona las dos variables x e y obtenida experimentalmente:

xi x1 x2 ... xn
yi y1 y2 ... yn
Para calcular los parámetros se impone la condición de que sea mı́nima la función
n
 2
S(α1 , α2 , . . . , αm ) = [f (xi , α1 , α2 , . . . , αm ) − yi ]
i=1

Como S(α1 , α2 , . . . , αm ) es una función de m variables, una condición necesaria para que tenga un valor extremo
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:
∂S ∂S ∂S
= 0, = 0, ..., =0
∂α1 ∂α2 ∂αm
cuyas soluciones, los parámetros α1 , α2 , . . . , αm nos indican cómo es la función que mejor se ajusta a los datos,
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
programas como MATLAB (o Matlab) sólo se pueden calcular (directamente) cuando la función es un polinomio.
En otros casos, que veremos en los ejercicios, habrá que modificar ligeramente el problema para que se pueda tratar
con el ordenador.
Para realizar estos cálculos MATLAB dispone del comando polyfit. Veamos en un ejemplo cómo se puede
ajustar una recta con Mı́nimos Cuadrados:

Ejemplo 1 Dada la tabla de valores,

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

c =

1.8800 0.3500

Es decir, que la recta que hemos encontrado es,

y = 1,88x + 0,35
Para representar la información obtenida gráficamente:
Primero dibujamos la tabla de valores, por ejemplo:
>>plot(xi,yi,’r*’)
De esta forma conseguimos que dibuje sólo los puntos, con asteriscos o con cualquier otro formato.
Para dibujar la recta, lo hacemos como para dibujar cualquier función. Generamos una tabla, (que llamaremos
con un nombre diferente de xi 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
evalúa el polinomio utilizando los coeficientes, que tenı́amos en la variable c:
>>yp=polyval(c,xp);
>>hold on % para mantener el dibujo anterior
Y, por último,
plot(xp,yp)

y=1.88x+0.35

2
1 1.5 2 2.5 3 3.5 4

Figura 4: Tabla y Recta y = 1,88x + 0,35

El error que se comete al aproximar la función empı́rica (tabla inicial) por la función teórica (recta) se puede
cuantificar 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 función: S(α1 , α2 , . . . , αm ):
Primero calculamos los valores de f (xi , α1 , α2 , . . . , αm ):

>>fxi=polyval(c,xi)

fxi =

2.2300 4.1100 5.9900 7.8700

Y ahora sustituimos en la fórmula:

>>error=sum((fxi-yi).^2)

error =

0.0580

Otra forma consiste en calcular lo que se llama Error Cuadrático Medio, que viene dado por la expresión:

 n
1 
ε=
2
[f (xi , α1 , α2 , . . . , αm ) − yi ]
n i=1

Para calcularlo:

>>n=length(x) % calcula el n’umero de t’erminos


n =
4
>>errorcm=sqrt(sum((fxi-yi).^2)/n)
errorcm =
0.1204

Por último, se pueden utilizar los códigos que llevan incorporados los comandos polyfit y polyval para obtener
un intervalo de confianza al 95 % en el que se encuentra cada yi . Veamos en qué consiste:
Primero volvemos a utilizar el comando polyfit, de una forma diferente:

>>[c,s]=polyfit(xi,yi,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 también modi-
ficado:

>>[fxi,delta]=polyval(c,xi,s)
fxi =
2.2300 4.1100 5.9900 7.8700
delta =
0.2220 0.1942 0.1942 0.2220

Hemos obtenido, en cada xi , un intervalo de confianza al 95 %, [fxi-2*delta,fxi+2*delta], dentro del cual


se encuentra el valor yi , i. e.  
P |f (xi ) − yi | ≤ 2δi = 0,95
donde P denota la probabilidad.
Si representamos la gráfica siguiente se entenderán de manera gráfica los cálculos que acabamos de realizar.

>>hold on
>>plot(xi,yi,’r*’)
>>plot(xi,fxi,’b-’)
>>plot(xi,fxi+2*delta,’g:’)
>>plot(xi,fxi-2*delta,’g:’)
>>hold off

Ejercicio 1 Mediante el Método de Mı́nimos Cuadrados, elegir una función cuadrática del tipo

f (x) = ax2 + bx + c
para los valores de x e y dados por la siguiente tabla

xi 7 8 9 10 11 12 13
yi 7,4 8,4 9,1 9,4 9,5 9,5 9,4
Calcular la función f (x). El error, el error cuadrático medio y representar la función obtenida junto a los datos
de la tabla con una banda alrededor de la gráfica de f (x), dentro de la cual se encuentren los puntos de la tabla a
un nivel del 95 %.

Ejercicio 2 De ciertas medidas realizadas se han obtenido los siguientes valores:

xi 0 0,2 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5


yi 1 0,833 0,667 0,54 0,4 0,333 0,286 0,25 0,222 0,2 0,182 0,167
a) Representar la tabla de valores gráficamente.
1
b) Se puede observar que se trata aproximadamente de una función del tipo y = . Esta función no la
ax + b
podemos obtener directamente con el comando polyfit. Pero la podemos transformar en,
1
= ax + b
y
1
Ahora, haciendo X = x; Y = . Nos queda la expresión
y
Y = aX + b

Calcular esta función. Habrá que hacer una nueva tabla de valores con las nuevas variables.
c) Deshacer el cambio de variable y obtener la función original y representarla con los valores del apartado a).
d) Calcular el error y el error cuadrático medio.

Ejercicio 3 Hallar por el Método de Mı́nimos Cuadrados una función del tipo S = Atq para los datos de la
siguiente tabla. Representarla junto a los datos de la tabla:

ti 1 2 3 4 5
Si 7,1 27,8 62,1 110 161
(Indicación: Tomar logaritmos neperianos en la función para transformarla en una función de tipo lineal).

Ejercicio 4 La tabla siguiente contiene la presión p en kp/cm2 de un vapor saturado, en función del volumen
especı́fico, v, medido en m3 /kp:

vi 3,334 1,63 0,8657 0,4323 0,2646 0,1699 0,1146


pi 0,482 1,034 2,027 4,247 7,164 11,48 17,6
Elegir una función p = f (v) que sea adecuada a la tabla de valores y calcularla con el Método de Mı́nimos
Cuadrados. Representarla después con los valores.
Según esta función ¿Cuál serı́a la presión aproximada que corresponderı́a a un volumen de 3m3 /kp?

También podría gustarte