C alculo Num erico. Curso 2010-2011 Pr actica 4 QR, M nimos

Anuncio
C
alculo Num
erico. Curso 2010-2011
Pr
actica 4
QR, M
nimos Cuadrados, C
alculo de Autovalores
Ejercicios
1.
a) Construir una funcion de Matlab tal que dada una tabla de valores de una funcion real f en los
puntos 0; 1; : : : ; n, obtenidos de un experimento, encuentre el polinomio Pm de grado m que mejor
la aproxime por mnimos cuadrados. Dibujar simultaneamente las gracas de f y de P3 , P5 y P10 .
b) Aplicar este programa para el caso n = 100 y las funciones f1 (x) = e x=10 y f2 (x) = 1= (x 50)2 + 4 .
2. Dados los puntos del plano
( 5; 0); ( 4; 0); ( 3; 0); ( 2; 1); ( 1; 1); (0; 1); (1; 0); (2; 0); (3; 0); (4; 0); (5; 0)
calcular y dibujar los polinomios de grados 5, 8 y 10 obtenidos por mnimos cuadrados (el polinomio
de grado 10 pasa por estos puntos, tiene por tanto error cero y se llama el polinomio de interpolacion).
Calcular el numero de condicion de la matriz de las ecuaciones normales y resolver por QR. En el caso de
grado 10 hacer la descomposicion QR por Gram-Schmidt, Gram-Schmidt modicado, Householder y por
la funcion [Q,R] = qr(A) de Matlab. Analizar si se observan diferencias entre estas distintas opciones.
3. Programar en Matlab el metodo de la potencia inversa con desplazamiento :
function [,x,iter]=iter inversa(A,x0, ,tol,maxiter)
cuyas variables de entrada/salida son: A es la matriz n n cuyo autovalor mas cercano a se quiere
calcular, x0 es el vector iterante inicial, es el parametro de desplazamiento, tol es el error maximo
que se quiere cometer, maxiter limita el numero total de iteraciones necesarias para la convergencia,
es la aproximacion al autovalor de A mas cercano a , x es la aproximacion al autovector buscado
(con jjxjj2 = 1), iter es el numero de iteraciones que se han necesitado para que conseguir la tolerancia
buscada.
4. Se considera la matriz
3
2
1
1 1
9 2 5:
A=4 1
0
1 2
Aproximar el autovalor, 1 , de modulo mas peque~no mediante el metodo de la potencia inversa,
realizando al menos 10 iteraciones y partiendo de x0 = [1; 1; 1]T .
Si u1 es el autovalor unitario asociado a ese 1 , usarlo para estudiar la tasa de convergencia en cada
iteracion, es decir, los cocientes:
kx(j+1)
kx(j)
u1 k
u1 k
para j grande. Aqui x(j ) denota el iterado j -esimo escalado de la misma manera que u1 . Comparar
esta tasa en terminos del cociente j1 =2 j (utilizar a funcion de Matlab [V; D] = eig (A) para
encontrar este cociente).
Encontrar los autovalores de A utilizando ahora el metodo de factorizacion QR.
Fecha de entrega y presentaci
on de la practica
La fecha de entrega sera el proximo lunes 20 de diciembre en la clase de practicas. Debera presentarse
individualmente un guion (impreso) de la practica, que incluya el codigo, los estudios teoricos, resultados
y comentarios que se consideren oportunos. Mas adelante en un examen oral se podra preguntar sobre
los problemas y programacion de esta practica, junto con ejercicios de problemas o preguntas teoricas
relacionados con ellos.
Descargar