Álgebra lineal

Matrices y cálculo matricial. Determinante, determinantes. Rango. Matriz inversa. Filas, columnas. Nilpotente. Matlab

  • Enviado por: Siam
  • Idioma: castellano
  • País: España España
  • 8 páginas
publicidad
publicidad

PRÁCTICA. ÁLGEBRA

MATRICES Y CÁLCULO CON MATRICES

Introducir las siguientes matrices:

1. Comprueba qué expresiones no pueden realizarse, A+B ,D+C, A·B, D·E:

» A=[0 1 1;2 3 1;0 1 1];

» B=[1 -2 1;-1 1 2;2 3 -5];

» C=[0 3 2;1 1 1;6 -2 5];

» D=[1 2 3 5;6 -1 0 0;2 5 6 10];

» E=[0 1 3;0 0 1;0 0 0];

» A+B

ans =

1 -1 2

1 4 3

2 4 -4

» D+C

??? Error using ==> +

Matrix dimensions must agree.

» A*B

ans =

1 4 -3

1 2 3

1 4 -3

» D*E

??? Error using ==> *

Inner matrix dimensions must agree.

D+C y D*E no debido a las diferentes dimensiones de las matrices

2. Hallar el rango, determinante e inversa de las matrices A, B, C y D:


» det(A)

ans =

0

» det(B)

ans =

-14

» det(C)

ans =

-13

» det(D)

??? Error using ==> det

Matrix must be square.

» rank(A)

ans =

2

» rank(B)

ans =

3

» rank(C)

ans =

3

» rank(D)

ans =

3

» inv(A)

Warning: Matrix is singular to working precision.

ans =

Inf Inf Inf

Inf Inf Inf

Inf Inf Inf

» inv(B)

ans =

0.7857 0.5000 0.3571

0.0714 0.5000 0.2143

0.3571 0.5000 0.0714

» inv(C)

ans =

-0.5385 1.4615 -0.0769

-0.0769 0.9231 -0.1538

0.6154 -1.3846 0.2308

» inv(D)

??? Error using ==> inv

Matrix must be square.

3. Calcular (A·B)t y Bt·At. Saca conclusiones:

» (A*B)'

ans =

1 1 1

4 2 4

-3 3 -3

» B'*A'

ans =

1 1 1

4 2 4

-3 3 -3

4. Multiplica la inversa de B por C y B por la inversa de C. Usando el operador \ y /. Comprueba el resultado usando el comando que te permite calcular la inversa de una matriz:

» B\C

ans =

2.6429 2.1429 3.8571

1.7857 0.2857 1.7143

0.9286 1.4286 1.5714

» B/C

ans =

0.2308 -1.7692 0.4615

1.6923 -3.3077 0.3846

-4.3846 12.6154 -1.7692

» inv(B)*C

ans =

2.6429 2.1429 3.8571

1.7857 0.2857 1.7143

0.9286 1.4286 1.5714

» B*inv(C)

ans =

0.2308 -1.7692 0.4615

1.6923 -3.3077 0.3846

-4.3846 12.6154 -1.7692

5. Cambia el elemento (2, 3) que es el 1 por el -1 de la matriz A:

» A(2,3)=-1

A =

0 1 1

2 3 -1

0 1 1

6. Define la submatriz de B formada por las tres primeras filas y las dos primeras columnas:

» B(1:3,1:2)

ans =

1 -2

-1 1

2 3

7. Calcula la diagonal de todas las matrices de la práctica:

Primero vuelvo a dar el valor 1 al elemento (2, 3) de la matriz A


» A(2,3)=1

A =

0 1 1

2 3 1

0 1 1

» diag(A)

ans =

0

3

1

» diag(B)

ans =

1

1

-5

» diag(C)

ans =

0

1

5

» diag(D)

ans =

1

-1

6

» diag(E)

ans =

0

0

0



8. Construye las siguientes matrices elementales (usando el comando que te permite crear la matriz unidad de dimensión n y el comando que te permite cambiar el elemento (i, j) de una matriz) una matriz que te permita cambiar la fila segunda de la matriz D por la tercera fila, otra que te multiplique la tercera columna de la matriz E por dos:

» D=[1 2 3 5;6 -1 0 0;2 5 6 10];

» M=D(2,:)

M =

6 -1 0 0

» D(2,:)=D(3,:)

D =

1 2 3 5

2 5 6 10

2 5 6 10

» D(3,:)=M

D =

1 2 3 5

2 5 6 10

6 -1 0 0

» E(:,3)*2

ans =

6

2

0

» E(:,3)=ans

E =

0 1 6

0 0 2

0 0 0

9. En MATLAB cuando queremos operaciones sobre cada uno de los elementos de la matriz ponemos un punto (.) antecediendo a la operación que queremos hacer sobre cada uno de los elementos de la matriz. Por ejemplo si queremos multiplicar todos los elementos de la matriz A por 3 entraríamos la siguiente sentencia en MATLAB A.*3. Como ejercicio haremos los siguientes cálculos:

  • Multiplica cada uno de los elementos de la matriz B por ½

  • » B.*(1/2)

    ans =

    0.5000 -1.0000 0.5000

    -0.5000 0.5000 1.0000

    1.0000 1.5000 -2.5000

  • Eleva cada uno de los elementos de la matriz D a ¾

  • » D.^(3/4)

    ans =

    1.0000 1.6818 2.2795 3.3437

    3.8337 -0.7071 + 0.7071i 0 0

    1.6818 3.3437 3.8337 5.6234

  • Calcula la raíz cúbica de los elementos de la matriz A

  • » A.^(1/3)

    ans =

    0 1.0000 1.0000

    1.2599 1.4422 1.0000

    0 1.0000 1.0000

    10. Haciendo uso de Matlab intuye el resultado de En. ¿E es nilpotente?

    » E^1

    ans =

    0 1 6

    0 0 2

    0 0 0

    » E^2

    ans =

    0 0 2

    0 0 0

    0 0 0

    » E^3

    ans =

    0 0 0

    0 0 0

    0 0 0

    11. Calcula la exponencial de cada uno de los elementos de la matriz E, la raíz cuadrada de la matriz B, la raíz cuadrada de los elementos de la matriz B. Observa la diferencia entre la segunda operación y la tercera

    » exp(E)

    ans =

    1.0000 2.7183 20.0855

    1.0000 1.0000 2.7183

    1.0000 1.0000 1.0000

    » sqrtm(B)

    ans =

    1.1065 + 0.1529i -0.6232 + 0.2250i 0.0535 - 0.4488i

    -0.2357 + 0.2114i 1.2280 + 0.3112i 0.3195 - 0.6207i

    0.2588 - 0.6998i 0.4033 - 1.0300i 0.1784 + 2.0545i

    » sqrt(B)

    ans =

    1.0000 0 + 1.4142i 1.0000

    0 + 1.0000i 1.0000 1.4142

    1.4142 1.7321 0 + 2.2361i

    12. Dada la matriz Ayudándote con matlab intuye el resultado de An.

    » A=ones(3)

    A =

    1 1 1

    1 1 1

    1 1 1

    » A^1

    ans =

    1 1 1

    1 1 1

    1 1 1

    » A^2

    ans =

    3 3 3

    3 3 3

    3 3 3

    » A^3

    ans =

    9 9 9

    9 9 9

    9 9 9

    13. Sea realiza la descomposición de F en el producto de una matriz triangular inferior L por una triangular superior U. Y escribe, observando la pantalla del ordenador, la verdadera matriz L y la verdadera matriz U. Ayúdate con el comando [L,U]= lu(F):


    » F=[1 0 1;1 1 2;2 1 5]

    F =

    1 0 1

    1 1 2

    2 1 5

    » lu(F)

    ans = Los elementos (1,1), (1,2),(1,3),(2,2),(2,3) y

    2.0000 1.0000 5.0000 (3,3) pertenecen a la matriz triangular

    -0.5000 0.5000 -0.5000 superior U y los restantes son los opuestos

    -0.5000 1.0000 -2.0000 de la matriz triangular inferior L

    » [L,U]=lu(F)

    L =

    0.5000 -1.0000 1.0000 Observando los ceros vemos que han de

    0.5000 1.0000 0 permutarse la 1ª y la 3ª filas

    1.0000 0 0

    U =

    2.0000 1.0000 5.0000

    0 0.5000 -0.5000

    0 0 -2.0000

    » M=L(1,:)

    M =

    0.5000 -1.0000 1.0000

    » L(1,:)=L(3,:)

    L =

    1.0000 0 0

    0.5000 1.0000 0

    1.0000 0 0

    » L(3,:)=M

    L =

    1.0000 0 0

    0.5000 1.0000 0 Probamos a multiplicar L·U y da la matriz F

    0.5000 -1.0000 1.0000 con la 1ª y la 3ª filas cambiadas

    » L*U

    ans =

    2 1 5

    1 1 2

    1 0 1

    1