Buscar

problema con algoritmo de gauss jordan


 
 Old 17 mar 2009, 23:36   #1 (permalink)  
Miembro activo
 
Avatar de heralexis
 
Registrado: noviembre 2007
Mensajes: 406

Predeterminado problema con algoritmo de gauss jordan

tengo un problema que me es algo extraño
usando el algoritmo de gauss_jordan en una matriz [[1 1] [2 2]] vector solucion [ 2 4]

me da error, lo mismo para matrices del mismo tipo 3X3, 4X4, etc
leyendo algo de algebra lineal basica vi que calculando determinantes da 0/0 o sea tiene infinitas soluciones
algo que ahora me parece obvio y medio estupido, o sea es una exepcion que hay que implementar
la pregunta es como? alguien sabe?
heralexis is offline   Citar y responder
 
 Old 18 mar 2009, 00:24   #2 (permalink)  
Miembro activo
 
Avatar de ferinancat
 
Registrado: enero 2008
Mensajes: 1.761

Predeterminado Re: problema con algoritmo de gauss jordan

y no seria mejor preguntar en otro sitio este tipo de cosas?? o googleando....
a ver si te sirve esto

Eliminación de Gauss-Jordan - Wikipedia, la enciclopedia libre

http://www.itescam.edu.mx/principal/...sos/r41611.PDF

Procesador: Intel Core 2 CPU 4300 @ 1.80Ghz
Memoria: 2 Gb RAM
T. Gráfica: NVIDIA 8500 GT
HD1: 40Gb - HD2: 250Gb
S.O.: Ubuntu 10.04 LTS Lucid Lynx
Nº registro linux user: 475.977

NOT POLITIC, NOT STUPID JUST S.H. //// I'm not a nazi, I'm not a red \\\\
ferinancat is offline   Citar y responder
 
 Old 18 mar 2009, 01:18   #3 (permalink)  
Miembro activo
 
Avatar de heralexis
 
Registrado: noviembre 2007
Mensajes: 406

Alegre Re: problema con algoritmo de gauss jordan

ya lo solucione si a alguien le sirve:
sorry editando!
Código PHP:
#include<math.h>
#define tolerancia 1.0e-3

int gauss_jordan(double a[100][100],double b[100],double X[100],int n){
    
    
    
int i,j,k;
    
double  m;
    
double temp;
    
int [url=http://swap.softonic.com]swap[/url];
    
double max;
    
double trab[100][101];
    
double pivote;
 
 
     

    
/*inizialisacion*/
   
    
for(i=0;i<n;i++){
    for(
j=0;j<n;j++)
        
trab[i][j]=a[i][j];
        
trab[i][n]=b[i];
    
    }

    for(
i=0;i<n;i++){
        
max=-1.0;
        for(
k=0;k<n;k++)
            if(
fabs(trab[k][i])>max){
                
max=fabs(trab[k][i]);
                [
url=http://swap.softonic.com]swap[/url]=k;
            
}
    }

    
/* chequea que el pivote sea lo suficientemente grande*/

    
if(max<tolerancia) return (0);

    
/*cambiamos filas [url=http://swap.softonic.com]swap[/url] por i*/
    
for(i=0;i<n;i++){
    if([
url=http://swap.softonic.com]swap[/url]!=i)
        
for(k=0;k<=n;k++){
            
temp=trab[i][k];
            
trab[i][k]=trab[swap][k];
            
trab[swap][k]=temp;
    }}
 
    
/*realizamos eliminacion*/
     
    
for(i=0;i<n;i++)
    for(
j=0;j<n;j++)
        if(
j!=i)
        {
            
            
pivote=trab[i][i];
            if(
fabs(pivote)>tolerancia)
            {  
        
m=trab[j][i]/trab[i][i];
        for(
k=0;k<=n;k++)
        
trab[j][k]=trab[j][k]-m*trab[i][k]; 
                
    
            }
         
        }
        
        
    
/*calculo de la solucion final*/
        
int count=0;                     
                         for(
i=0;i<n;i++) 
            if (
trab[i][n]==&& trab[i][i]==0)  //aqui chequeamos si tiene 
            //infinitas soluciones
              
count++;

            if (
count==0){
       for(
i=0;i<n;i++)
           
X[i]=trab[i][n]/trab[i][i];
       return(
1);
       }
       else
           return (
2);  //si tiene infinitas soluciones retorna 2


Editado por heralexis en 18 mar 2009 a las 01:28.
heralexis is offline   Citar y responder
 
 Old 18 mar 2009, 12:22   #4 (permalink)  
Miembro
 
Avatar de ba_ro_r
 
Registrado: marzo 2009
Ubicación: Alicante
Mensajes: 36

Idea A ver si esto te ayuda

No entiendo muy bien lo que solicitas, pero quizás esto te pued ayudar.
Metodo Gauss-Jordan :: elrincondelc.com :: La comunidad de programadores C/C++
ba_ro_r is offline   Citar y responder
 
 Old 18 mar 2009, 15:26   #5 (permalink)  
Miembro activo
 
Avatar de ferinancat
 
Registrado: enero 2008
Mensajes: 1.761

Predeterminado Re: A ver si esto te ayuda

Cita:
ba_ro_r escribió: Ver post
No entiendo muy bien lo que solicitas, pero quizás esto te pued ayudar.
Metodo Gauss-Jordan :: elrincondelc.com :: La comunidad de programadores C/C++
el post anterior ya ponia que estaba solucionado...

Procesador: Intel Core 2 CPU 4300 @ 1.80Ghz
Memoria: 2 Gb RAM
T. Gráfica: NVIDIA 8500 GT
HD1: 40Gb - HD2: 250Gb
S.O.: Ubuntu 10.04 LTS Lucid Lynx
Nº registro linux user: 475.977

NOT POLITIC, NOT STUPID JUST S.H. //// I'm not a nazi, I'm not a red \\\\
ferinancat is offline   Citar y responder
 
 Old 19 mar 2009, 10:07   #6 (permalink)  
Miembro
 
Avatar de ba_ro_r
 
Registrado: marzo 2009
Ubicación: Alicante
Mensajes: 36

Atención No lo ví

Cita:
ferinancat escribió: Ver post
el post anterior ya ponia que estaba solucionado...
Perdón no lo había visto...
ba_ro_r is offline   Citar y responder

« no me fucniona un fichero e C. | Simular teclado lanzando eventos con .net Compact Framework »

Herramientas
Estilo


 

Tema Iniciado por Foro Respuestas Último mensaje
Call of duty 5 PS3 nadie en el mundo conoce la solucion de mi problema??? Saww Juegos 5 18 mar 2009 18:53
tengo un problema de compitivilidad entre "nero7" y "PX" zero-sen Software 3 07 mar 2009 22:00
Problema con mi placa de video DarknesS14 Drivers 1 03 feb 2007 03:24
Problema con el Dolby Digital Salvor Hardin Multimedia 1 13 dic 2005 16:31
Implementación del Algoritmo Boyer-Moore en VB the_ma3x Programación 0 10 ago 2005 16:55



Buscar