Calculando matriz inversa 2x2 turbo pascal
En este ejemplo muestro un código en pascal con el que podrán calcular la matriz inversa 2x2
para lo cual solo deberían de entender la lógica en como se resuelven así:
Matriz inversa
4 2
0 1
En esta matriz debemos comprobar que existe la inversa la cual existiría si el determinante es diferente de 0|A| = 3·4 - 2·0 = 12 ==> existe la inversa
2º) Hallamos la matriz adjunta transpuesta, con este método práctico:■ Intercambiamos entre sí los elementos de la diagonal principal, y■ Cambiamos el signo de los elementos de la diagonal secundaria (dejándolos en su lugar)
3º) Dividimos la matriz adjunta transpuesta por el determinante de la matriz original, y así obtenemos la inversa A⁻¹
[4 -2]
[ 0 1]
A⁻¹ = –––––
4
A⁻¹ = [1 -1/2] ◄ RESPUESTA
[ 0 1/4]
aqui el codigo
Program appletenhtml (input,output);
uses
crt;
Var
a, b, c,d,total: Integer;
Begin
{
/*
|a00 a01| |$a $b|
|a10 a11| = |$c $d|
determinante = $a*$d-$b*$c
matriz inversa= d/det -c/det
-b/det a/det
*/
}
writeln('Ingrese valores');
writeln('|a b|');
writeln('|c d|');
writeln('Ingrese el valor de a: ');
readln(a);
writeln('Ingrese el valor de b: ');
readln(b);
writeln('Ingrese el valor de c: ');
readln(c);
writeln('Ingrese el valor de d: ');
readln(d);
total:= a*d-b*c;
if(total <> 0) then begin
writeln(' ',d div total, ' ',-c div total);
writeln(' ',-b div total, ' ',a div total);
end;
if(total = 0) then begin
writeln('Error el det. da 0');
end;
readkey;
End.
Comentarios
Publicar un comentario