Practica7 PDF
Practica7 PDF
Practica7 PDF
w ∈ U ⊥ ⇐⇒ w · ei = 0 ∀ i = 1, 2, ..., m
v − p ⊥ U ⇐⇒ (v − p) · ei = 0 ⇐⇒ v · ei = p · ei , ∀ i = 1, 2, ..., m
v · ei = c1 e1 · ei + c2 e2 · ei + · · · + cm em · ei ∀ i = 1, 2, ..., m
57
De la proyección ortogonal cabe destacar la siguiente propiedad:
se ajuste lo más posible a la función en el sentido de los mı́nimos cuadrados, es decir, tal que
en el espacio de las funciones continuas en [a, b], la condición anterior equivale a que el valor
Z b
[f (x) − Pn (x)]2 dx sea mı́nimo
a
debemos obtener la proyección ortogonal P de f (x) sobre IR3 [x], lo que equivale a decir que
ex − P es ortogonal a IR3 [x]. Para ello, bastará que ex − P sea ortogonal a una base de IR3 [x],
por ejemplo a la canónica
x x
(e − P ) · 1 = 0
e ·1=P ·1
x x
(e − P ) · x = 0 e ·x=P ·x
x 2 ↔
(e − P ) · x = 0
e x · x2 = P · x2
x 3 x 3
(e − P ) · x = 0 e · x = P · x3
58
y como P ∈ IR3 [x], entonces P = a0 1 + a1 x + a2 x2 + a3 x3 y, las relaciones anteriores, son
equivalentes a las siguientes
(a0 1 + a1 x + a2 x2 + a3 x3 ) · 1 = ex · 1
(a0 1 + a1 x + a2 x2 + a3 x3 ) · x = ex · x
(a0 1 + a1 x + a2 x2 + a3 x3 ) · x2 = ex · x2
(a0 1 + a1 x + a2 x2 + a3 x3 ) · x3 = ex · x3
o bien
1 · 1 x · 1 x2 · 1 x3 · 1 a0 ex · 1
1 · x x · x x2 · x x3 · x a1 ex · x
= x 2
1 · x2 x · x2 x2 · x2 x3 · x2 a2 e ·x
1 · x3 x · x3 x2 · x3 x3 · x3 a3 ex · x3
Para resolverlo con Matlab, creamos el siguiente fichero, que llamaremos aproximacion.m
clear all
clc
close all
syms x real
n=3; %Grado del polinomio proyección
a=-1;b=1; %Extremos del intervalo intervalo de definición de la función
f=exp(x) %Función a proyectar
v=x.^[0:n] %Vector cuyas componentes son los vectores de la base canónica de Rn[x]
H=v.’*v %Matriz de integrandos del primer miembro
G=int(H,x,a,b) %Matriz del producto escalar en Rn[x]
D=v.’*f %Matriz de integrandos del segundo miembro
B=int(D,x,a,b) %Matriz numérica segundo miembro
E=rref([G B]) %Matriz reducida canónica de la ampliada
s=E(:,end) %Vector solución
P=s.’*v.’ %Polinomio solución
e=double(int((f-P)^2,x,a,b))
59
3
2.5
1.5
0.5
0
−1 −0.5 0 0.5 1
Nótese, que este fichero nos servirá para aproximar cualquier función continua f, en cualquier
intervalo [a,b], por un polinomio de cualquier grado n, sin más que introducir en cada caso los
valores de f, a, b y n deseados.
Nos planteamos, ahora, el siguiente problema: partiendo de datos empı́ricos de una variable
y obtenidos a partir de otra variable x
x x1 x2 x3 x4 · · · xn
y y1 y2 y3 y4 · · · yn
3.5
2.5
1.5
0.5
0
0 0.5 1 1.5 2
Debemos, por tanto, determinar los parámetros c1 , c2 , c3 , . . . , ck+1 que hagan que la curva que
describe el polinomio y = c1 + c2 x + c3 x2 + . . . + ck+1 xk esté lo más cercana posible a los puntos.
60
Si dichos puntos estuvieran sobre la curva, c1 , c2 , c3 , . . . , ck+1 satisfarı́an las ecuaciones
y(x1 ) = c1 + c2 x1 + c3 x21 + . . . + ck+1 xk1 = y1
y(x2 ) = c1 + c2 x2 + c3 x2 + . . . + ck+1 xk = y2
2 2
.. ..
. .
y(x ) = c + c x + c x2 + . . . + c xk = y
n 1 2 n 3 n k+1 n n
es decir, el sistema
1 x1 x21 · · · xk1 c1 y1
1 x2 x22 · · · xk2 c2 y2
.. .. .. . . . .. = ..
. . . . .. . .
1 xn x2n · · · xkn ck+1 yn
y el problema se reducirı́a a resolver un sistema de ecuaciones lineales compatible con matriz de
1 x1 x21 · · · xk1 y1
1 x2 x2 · · · xk y2
2 2
coeficientes A = .. .. . . . .. , término independiente Y = .. e incógnitas
. . . .. . .
2 k
1 xn x n · · · xn yn
c1
c2
c = .. .
.
ck+1
Obviamente, en la mayorı́a de los casos este sistema Y = Ac será incompatible con lo que
tendremos que conformarnos con resolverlo de forma aproximada.
Tal y como se hizo en teorı́a, plantearemos el problema de buscar unos valores de las
incógnitas c1 , c2 , c3 , . . . , ck+1 , tales que: ||Y − Ac|| sea mı́nima. Si consideramos los vectores
linealmente independientes
1 x1 x21 xk1
1 x2 x2 xk
2 2
e1 = .. , e2 = .. , e3 = .. , . . . , ek+1 = ..
. . . .
2
1 xn xn xkn
el problema anterior equivale a encontrar la proyección ortogonal
p = c1 e1 + c2 e2 + c3 e3 + . . . + ck+1 ek+1
del vector Y sobre el subespacio < e1 , e2 , ..., ek+1 >, lo que nos llevarı́a a resolver el sistema de
ecuaciones:
Y · e1 = c1 e1 · e1 + c2 e2 · e1 + c3 e3 · e1 + . . . + ck+1 ek+1 · e1
Y · e2 = c1 e1 · e2 + c2 e2 · e2 + c3 e3 · e2 + . . . + ck+1 ek+1 · e2
···
Y · ek+1 = c1 e1 · ek+1 + c2 e2 · ek+1 + c3 e3 · ek+1 + . . . + ck+1 ek+1 · ek+1
de incógnitas c1 , c2 , c2 , . . . , ck+1 , que matricialmente se escribirı́a como:
Y · e1 e1 · e1 e2 · e1 · · · ek+1 · e1 c1
Y · e2 e1 · e2 e2 · e2 · · · ek+1 · e2 c2
.. = .. .. ... .. ..
. . . . .
Y · ek+1 e1 · ek+1 e2 · ek+1 · · · ek+1 · ek+1 ck+1
61
Este sistema recibe el nombre de sistema de ecuaciones normales y se trata de un sistema
compatible y determinado.
Considerando la norma euclı́dea, el valor e = ||Y − p ||2 , se denomina error de mı́nimos
cuadrados de la aproximación. El error de mı́nimos cuadrados cometido depende, obviamente,
del número de puntos considerados, ası́ que otro valor√ interesante de calcular es el llamado
e
error cuadrático medio, que viene dado por emed = , donde n es el número de medidas
n
efectuadas.
Nota: Si denotamos, finalmente, por P (x) = c1 +c2 x+· · ·+ck+1 xk , al polinomio aproximador
P (x1 )
P (x2 ) X n
obtenido, tendremos que p = .. con lo que e = (yi − P (xi ))2 .
. i=1
P (xn )
Ejemplo 7.3.1 Encuéntrese la parábola que ofrece la mejor aproximación por mı́nimos
cuadrados a los puntos (-1,1),(0,-1),(1,0) y (2,2).
La tabla de datos que nos proporciona el enunciado serı́a, en este caso, la siguiente:
x −1 0 1 2
y 1 −1 0 2
62
% Para calcular el error
Pe=subs(P,x,e2);% Vector [P(x1),P(x2),P(x3),P(x4)].’
e=norm(Y-Pe)^2
emed=sqrt(e)/n
% Para dibujar
plot(e2,Y,’r*’)
hold on
xnum=linspace(-1,2);
Pnum=subs(P,x,xnum);
plot(xnum,Pnum);
1.5
0.5
−0.5
−1
−1 −0.5 0 0.5 1 1.5 2
Nota: Hemos visto que el problema de mı́nimos cuadrados planteado equivale a buscar los
valores de c1 , c2 y c3 tales que ||Y − Ac|| sea mı́nima, siendo A la matrı́z cuyas columnas son
los vectores e1 , e2 y e3 y c = (c1 , c2 , c3 )t . Dichos valores, según hemos visto, pueden obtenerse
con MatLab mediante la orden A\Y . Tendrı́amos, por tanto, otro método para resolver estos
problemas, si bien nosotros no lo utilizaremos en este primer curso.
Ejemplo 7.3.2 La tabla dada proporciona las expectativas de vida de personas nacidas en
España en los años que allı́ se indican. Determı́nese la recta de aproximación por mı́nimos
cuadrados de estos datos y utilı́cese para predecir la expectativa de vida de alguien nacido en el
año 2000.
Solución
63
e1=ones(n,1);
B=[e1 e2].’*Y; % Vector de términos independientes
G=[e1 e2].’*[e1 e2]; % Matriz de Gram de la base
E=rref([G B]);
s=E(:,end); % Vector de soluciones a,b
syms t
P=s.’*[1 t].’
Expectativa=subs(P,t,2000)
% Para dibujar
plot(e2,Y,’r*’)
hold on
tnum=linspace(1920,1990);
Pnum=subs(P,t,tnum);
plot(tnum,Pnum);
75
70
65
60
55
50
0 10 20 30 40 50 60 70
Ejercicio 7.1 Aproxime por el método de mı́nimos cuadrados la función f (x) = sen(πx) en
[0, 1] mediante un polinomio de segundo grado, y calcule el error cometido en la aproximación.
Cantidad α utilizada 3 4 5 6 7 8 9 10 11 12
Cantidad β presente 4.5 5.5 5.7 6.6 7 7.7 8.5 8.7 9.5 9.7
Suponiendo que la relación entre la cantidad α y la cantidad β esta dada por una ecuación lineal
β = aα + b, determinar dicha recta utilizando el método de los mı́nimos cuadrados. Utilizar la
ecuación obtenida para predecir la cantidad β presente en un kilogramo de X si se utilizan 30
unidades de α por kilogramo de X.
64
Ejercicio 7.3 La tabla siguiente muestra la cantidad de un cierto contaminante, y, con respecto
a la cantidad normal encontrada en un punto geográfico, para una cierta cantidad de aire y en
intervalos de media hora:
t 1 1.5 2 2.5 3 3.5 4 4.5 5
y -0.15 0.24 0.68 1.04 1.21 1.15 0.86 0.41 -0.08
La gráfica de las medidas sugiere una relación de tipo polinómico. Encontrar el polinomio de
grado 2 (y = at2 + bt + c) que produzca un buen modelo a partir de estos datos.
65