Practica - SEL- Matlab

Embed Size (px)

DESCRIPTION

Math

Citation preview

  • UNIVERSIDAD DEL BIO BIOFACULTAD DE CIENCIAS

    DEPARTAMENTO DE MATEMATICA

    Metodos Numericos (220023)

    Practica 2

    Sistemas de ecuaciones lineales { I

    El objetivo de este laboratorio es aprender a utilizar ecientemente las herramientas de MATLABpara la solucion de sistemas de ecuaciones lineales Ax = b.

    1. (a) Haga un programa function que genere una matriz tridiagonal de orden n de la forma

    A =

    0BBBBBBB@

    a b

    0c

    . . .. . .

    . . .. . . b

    0 c a

    1CCCCCCCA2 Rnn:

    Los datos de entrada deben ser los valores de n, a, b y c, y la salida la matriz A.

    (b) Mediante el comando Matlab det, determine si la matriz tridiagonal A correspondiente an = 10, a = 4; b = 2 y c = 3 es no singular.

    (c) Mediante el comando Matlab norm, obtenga kAk1, kAk2 y kAk1.A n = 6; a = 4 n = 8; a = 1 n = 12; a = 1

    b = 4; c = 2 b = 1; c = 3 b = 2; c = 2kAk1kAk2kAk1

    (d) Resuelva el sistema Ax = b con la matriz tridiagonal dada en (b) y un segundo miembrob 2 Rn cualquiera, de la siguiente forma:

    >> b=rand(n,1)

    >> x=A\b

    (e) Obtenga kxk1, kxk2 y kxk1.jjxjj1jjxjj2jjxjj1

    (f) Calcule los residuos r = bAx respectivos. Que observa?.

    >> r=b-A*x

    1

  • 2. Sean

    A =

    0BBBB@n+ 1 1 11

    . . .. . . 1

    .... . .

    . . . 11 1 n+ 1

    1CCCCA 2 Rnn y b =0BBBB@

    1......1

    1CCCCA 2 Rn:Hacer un programa function que:

    (a) Genere la matriz anterior para cualquier n 2 N;(b) Para n = 10, resuelva el sistema Ax = b;

    >> x=

    3. Sean

    B =

    0BBBBBB@

    n2 1 n n nn

    . . .. . .

    ......

    .... . .

    . . . n...

    n n n2 1 nn n n2 1

    1CCCCCCA 2 Rnn:

    (a) Hacer un programa function que genere la matriz anterior para n arbitrario.

    (b) Indicar los valores propios de B para n = 8.

    >> vB=eig(B)

    2

  • 4. El objeto de este ejercicio es demostrar que no es conveniente resolver un sistema de ecuacionesmediante la inversa de la matriz del mismo.

    Considere el siguiente programa rutero:

    nn=[100:100:500];

    t1=[];

    t2=[];

    for n=nn

    A=rand(n);

    y=ones(n,1);

    t0=cputime;

    x=inv(A)*y;

    t1=[t1 cputime-t0];

    t0=cputime;

    x=A\y;

    t2=[t2 cputime-t0];

    end

    plot(nn,t1,'*-',nn,t2,'o-')

    (a) Analice lo que hace este programa, ejecutelo e indique que alternativa es la mas conveniente.

    ROV-NSG28/09/2015

    3