Está en la página 1de 5

METODO DE GAUSS

ALGORITMO:
Paso 1.- Para hallar la determinante de una matriz 4x4, debemos convertirlo a una matriz triangulo superior:

Matriz a ingresar

Paso 2.- Ingresar cada elemento

de la matriz mediante dos estructuras repetitivas for,

tal ingreso ser de izquierda a derecha por cada fila en ese orden; es decir:

Ingresar la primera fila: Ingresar la segunda fila: Ingresar la tercera fila: Ingresar la ltima fila:

Paso 3.- Mediante operaciones de filas:

I.

Sumar o restar a una fila el mltiplo de otra, el proceso se har hasta formar un tringulo superior.

Como en el siguiente ejemplo:

Det= 1*3*2*(-1) = -6

Paso 4.- Para hallar la determinante de la matriz triangular superior hacemos lo siguiente: Declaramos la variable: "det" e inicializamos con el valor de 1, es decir: det=1; Esta variable nos ayudar a acumular las multiplicaciones sucesivas que se realizaran en la diagonal de la matriz triangular superior. A travs de 2 estructuras repetitivas "for", hacemos correr cada elemento de la matriz triangular superior. Dentro de esas estructuras repetitivas realizamos una estructura condicional "if", que nos ayude a ubicar los elementos que estn en la diagonal de dicha matriz.

Si la condicin se cumple hacemos lo siguiente: det= det* k(i,j); Donde: k(i,j) = Es un elemento de la diagonal de la matriz triangular superior. Este elemento multiplicar con la variable "det", y como det=1 entonces:

Se almacena en esta variable: "det"

La multiplicacin de estos dos nmeros se almacenara en:

det

det

k(i,j)

-Para el primer caso sera: det=1* ; ;

Y la nueva det=

-Para el segundo caso sera: det= * ; * ;

Y la nueva det=

-Para el tercer caso sera: det=( * )* * ; * ;

y la nueva det=

-Y as hasta llegar al ltimo elemento: det=( * * )*

Por lo tanto el resultado sera: det = *

Codigo hecho en el Programa Matlab:


disp(' METODO DE GAUSS'); disp(' --------------------'); n=input('Ingrese el orden de la matriz: '); k=zeros(n); n1=n; for i=1:n for j=1:n1 s=sprintf('Ingrese el numero %d,%d: ',i,j); k(i,j:n:n1)=input(s); end end fprintf('\t\tMATRIZ k =\n'); for i=1:n fprintf('|'); for j=1:n1 fprintf('%12.2f\t',k(i,j)); end fprintf('|\n'); end for i=1:n if k(i,i)==0 k=intercambio(k,i); end for r=i+1:n, p=k(r,i)/k(i,i); for j=i:n1, k(r,j)=k(r,j)-p*k(i,j); end end end fprintf('\n\t\tMATRIZ k diagonal superior =\n'); for i=1:n fprintf('|'); for j=1:n1 fprintf('%12.6f\t',k(i,j)); end fprintf('|\n'); end det=1; for i=1:n for j=1:n if i==j; det=det*k(i,j); end end end fprintf('\n DETERMINANTE= %d\n',det); fprintf('\n DETERMINANTE= %12.6f\n',det);

Resultado en el programa Matlab:

También podría gustarte