miércoles, 15 de mayo de 2019

CALCULO DE DETERMINANTES EN MATLAB



1.       clc;
2.       clear all;
3.       disp('Crear una matriz 3x3:');
4.       a=[1 2 3;0 1 2;1 2 4]
5.       G= inv(a);
6.       disp(G);

7.       disp('Calcular su transpuesta:');
8.       H=(a');
9.       disp(H);

10.         disp('Obtener su matriz identidad:');
11.         D= (a*G);
12.         disp(D)

13.         disp('Obtener determinante de a:');
14.         Y= det(a);
15.         disp(Y)

COMO CALCULAR UN DETERMINANTE EN MATLAB
det
Matriz determinantecolapsar todo en la página
Sintaxis
d = det(A)
Descripción
Ejemplo
d = det(A) Devuelve el determinante de la matriz cuadrada A.
Ejemplos
Desplegar todo
Calcular el determinante de la matriz
Crear una matriz cuadrada 3-por-3, A.

A = [1 -2 4; -5 2 0; 1 0 3]
A = 3 × 3

     1 -2 4
    -5 2 0
     1 0 3

Calcular el determinante de A.

d = det (A)
d = -32
Determine si la matriz es singular
Examine por qué el determinante no es una medida precisa de la singularidad.

Cree una matriz de 10 por 10 multiplicando una matriz de identidad eye(10), por un número pequeño.

A = ojo (10) * 0,0001;
La matriz Atiene entradas muy pequeñas a lo largo de la diagonal principal. Sin embargo, noA es singular, porque es un múltiplo de la matriz de identidad.

Calcular el determinante de A.

d = det (A)
d = 1.0000e-40
El determinante es extremadamente pequeño. abs(det(A)) < tolEs probable que una prueba de tolerancia de la forma marque esta matriz como singular. Aunque el determinante de la matriz está cerca de cero, en Arealidad no está mal condicionado. Por lo tanto, Ano está cerca de ser singular. El determinante de una matriz puede estar arbitrariamente cerca de cero sin transmitir información sobre singularidad.

Para investigar si Aes singular, usa las funciones condo rcond.

Calcular el número de condición de A.

c = cond (A)
c = 1
El resultado confirma que Ano está mal condicionado.

Determinante de cálculo de matriz inversa de mal estado
Examine cómo calcular el determinante de la matriz inversa A^(-1), para una matriz mal condicionada A, sin calcular explícitamente A^(-1).

Crear una matriz de Hilbert 10-por-10, A.

A = hilb (10);
Encuentra el número de condición de A.

c = cond (A)
c = 1.6025e + 13
El gran número de condición sugiere que Aestá cerca de ser singular, por lo que el cálculo inv(A)puede producir resultados inexactos. Por lo tanto, el cálculo del determinante inverso det(inv(A))también es inexacto.

Calcule el determinante de lo inverso Aexplotando el hecho de que

d e t ( A
- 1
) =
1
d e t ( A )

d1 = 1 / det (A)
d1 = 4.6201e + 52
Este método evita el cálculo de la inversa de la matriz, A.

Calcule el determinante de la inversa exacta de la matriz de Hilbert Ausando invhilb. Compara el resultado para d1encontrar el error relativo en d1.

d = det (invhilb (10));
relError = abs (d1-d) / abs (d)
relError = 1.2738e-04
El error relativo en d1es razonablemente pequeño. Evitar el cálculo explícito de lo inverso de lo Aminimiza.

Para comparación, también calcule el determinante de lo inverso Acalculando explícitamente lo inverso. Compara el resultado para dver el error relativo.

d2 = det (inv (A));
relError2 = abs (d2-d) / abs (d)
relError2 = 1.1415e-04
El error relativo en el cálculo de d2es muchos órdenes de magnitud mayor que el de d1.

Encontrar determinante de matriz singular
Examine una matriz que sea exactamente singular, pero que tenga un gran determinante distinto de cero. En teoría, el determinante de cualquier matriz singular es cero, pero debido a la naturaleza del cálculo de punto flotante, este ideal no siempre es alcanzable.

Cree una matriz singular de 13 por 13 diagonalmente dominante Ay vea el patrón de elementos distintos de cero.

A = diag ([24 46 64 78 88 94 96 94 88 78 64 64 46 24]);
S = diag ([- 13 -24 -33 -40 -45 -48 -49 -48 -45 -40 -33 -24], 1);
A = A + S + rot90 (S, 2);
espía (a)


AEs singular porque las filas son linealmente dependientes. Por ejemplo, sum(A) produce un vector de ceros.

Calcular el determinante de A.

d = det (A)
d = 1.0597e + 05
El determinante de Aes bastante grande a pesar del hecho de que Aes singular. De hecho, el determinante de Adebe ser exactamente cero! La inexactitud de dse debe a una agregación de errores de redondeo en la implementación de MATLAB® de la descomposición de LU, que se detutiliza para calcular el determinante. Este resultado demuestra algunos aspectos importantes del cálculo de determinantes numéricos. Vea la sección de Limitaciones para más detalles.

Argumentos de entrada
desplegar todo
A- Matriz
numérica matricial de entrada.
Matriz de entrada, especificada como una matriz numérica cuadrada.

Tipos de datos:single | double
Soporte de números complejos: Sí

Limitaciones
Evite utilizar detpara examinar si una matriz es singular debido a las siguientes limitaciones. Utilizar condo en su rcondlugar.

Limitación  Resultado
La magnitud del determinante generalmente no está relacionada con el número de condición de una matriz.

El determinante de una matriz puede ser arbitrariamente grande o pequeño sin cambiar el número de condición.

det utiliza la descomposición de LU para calcular el determinante, que es susceptible de errores de redondeo de punto flotante.

El cálculo determinante es a veces numéricamente inestable. Por ejemplo, detpuede producir un determinante de gran magnitud para una matriz singular, aunque debería tener una magnitud de 0.







LINKOGRAFIA.
·         Determinante de la matriz, disponible en: https://la.mathworks.com/help/matlab/ref/det.html

No hay comentarios:

Publicar un comentario