Funcion Norm Matlab

download Funcion Norm Matlab

of 3

Transcript of Funcion Norm Matlab

  • 7/24/2019 Funcion Norm Matlab

    1/3

    Practica 7: Normas y condicion numerica de

    matrices

    1 Introduccion

    La mayor parte de funciones del Algebra Lineal en MATLAB trabaja tan-to para matrices reales como complejas. En esta practica veremos comopodemos calcular la norma de vectores o matrices y estudiar la condici onnumerica de sistemas de ecuaciones lineales. Para mas detalles recurra a laayuda en el subdirectorio \matfunde MATLAB.

    2 Trabajo de laboratorio

    2.1 Normas de vectores y matrices

    Recuerde que la p-norma de un vector x = (x1, . . . , xn) se define como

    ||x||p=

    ni=1

    |xi|p

    1/p, 1 p

  • 7/24/2019 Funcion Norm Matlab

    2/3

    Practica de ordenador VII 2

    Ejercicio 2 Aplique la funcionnorm(x,p) conp= 1, 2 y a la matriz

    A=

    1 2 34 5 6

    7 8 9

    .

    Previamente modifique el formato de la salida por medio del comando for-mat long.

    Recuerde que la norma 2 es igual al m aximo valor singular de la matriz, loque se puede calcular en MATLAB usando el comando max(svd(matriz)).Puesto que para matrices grandes este es un calculo costoso, MATLAB

    incluye la funcion normest para estimar dicha norma y que opera masrapidamente.

    Ejercicio 3 Aplique las funcionesmax(svd(x))ynormest(x)a la matrizA definida en el ejercicio anterior y compare el resultado con la norma 2obtenida ah.

    2.2 Condicion numerica de una matriz

    El numero de condicion de una matrizAen la norma 2, 2(A) =A A1,

    se calcula tambien como el cociente entre el valor singular mas grande y el

    mas pequeno de A. EnMATLAB

    esta magnitud se obtiene usando elcomando cond(x). A su vez para el numero de condicion 1(A) se incluyela funcion condest(x) que encuentra una estimacion (aproximacion) de lamisma.

    Ejercicio 4 La matriz de Hilbert

    Hn=

    1

    i+j1

    ni,j=1

    =

    1 1/2 1/(n1)1/2 1/3 1/n

    ... ...

    . . . 1/(n1) 1/n 1/(2n1)

    es un ejemplo clasico de una matriz mal condicionada. En MATLAB sepuede construirla facilmente usando el comando hilb(n).

    1. Escriba un script de MATLAB para calcular los valores de 2(Hn)paran = 1, 2, . . . , 10. Dibuje los resultados en escala logartmica (co-mando semilogy).

    2. Estime la dependencia del numero de condicion de la matriz de Hil-bert de sus dimensiones. De que tipo de crecimiento se trata, lineal,exponencial, etc.?

    Andrei Martnez Finkelshte in

  • 7/24/2019 Funcion Norm Matlab

    3/3

    Practica de ordenador VII 3

    Puesto que calcular el numero de condicion de una matriz puede ser compu-tacionalmente muy costoso, podemos buscar sntomas indirectos de queuna matriz es mal condicionada:

    det(A) det(A1) calculado es significativamente = 1;

    (A1)1 calculado es significativamente =A;

    AA1 calculado es significativamente =I,

    y otros.

    Ejercicio 5 Para la matriz de HilbertH10 aplique los criterios

    | det(H10) det(H110

    ) 1|, (H110

    )1 H102, H10H110 I102

    para detectar la mala condicion de la misma.

    Ejercicio 6 Tome un vector columna de 10 elementos arbitrario, por ejem-plo

    x=[1,2,3,4,5,6,7,8,9,10]

    y construya el vectorb= H10x. Claramente, x es la solucion del sistema

    H10x= b .

    Resuelva este sistema usando la division derecha del MATLAB, A\B =A1B. Compare el resultado con el vectorx original, calculando la normadel error absoluto.

    Andrei Martnez Finkelshte in