C/Visual C - Determinante de una matriz

 
Vista:

Determinante de una matriz

Publicado por Espectro (3 intervenciones) el 05/03/2004 09:40:33
Hola a todos, aqui les dejo una función que resulta muy importante. La matriz que se pasa como parámetro es un doble puntero( Matriz dinámica).

double Determinante(double **Mat,int Dim)
{
/* Reservar memoria para las filas */
double **Maux = new double * [ Dim ];
/* Reservart memoria para cada columna */
for (int i=0;i<Dim;Maux[ i ] = new double[ Dim ], i++);

/* Copiar la matriz en la matriz auxiliar */
for (int i=0;i<Dim;i++)
for (int j=0;j<Dim;j++)
Maux[ i ][ j ] = Mat[ i ][ j ];

/* 1er paso para calcular el determinante */
for (int i=0;i<Dim-1;i++)
for (int j=i+1;j<Dim;j++)
for (int k=i+1;k<Dim;k++)
Maux[ j ][ k ] -= Maux[ j ][ i ]+Maux[ i ][ k ]/Maux[ i ][ i ];

/* 2do paso para calcular el determinate */
double Det = 1;
for (int i=0;i<Dim;i++)
Det *= Maux[ i ][ i ];

/* Retorno el determinante */
return Det;
}

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Determinante de una matriz

Publicado por Nasón (40 intervenciones) el 05/03/2004 16:26:43
¿Con qué se compila esto?, VC++ da mogollón de errores.
double **Maux = new double * [ Dim ]; En esta línea, por ejemplo, da uno por el neww double
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 11
Ha aumentado su posición en 5 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

RE:Determinante de una matriz

Publicado por zzzzz (318 intervenciones) el 06/03/2004 04:01:52
Hola! Tu función sirve para cualquier numero de columnas y renglones?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Determinante de una matriz

Publicado por Espectro (3 intervenciones) el 08/03/2004 01:12:50
Hola:
Yo lo he compilado en C++Builder6. Y siempre que sea una matriz cuadrada, se pude comprobar con algún asistente matemático cuando quieras calcular el determinante de una matriz de un orden grande.

Yo solamente he utilizado esta función para matrices de orden 10 y me ha dado resultado.

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar