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.