Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema de iteración

Estas en el tema de Problema de iteración en el foro de C/C++ en Foros del Web. Hola a todo el mundo. Estoy desarollando en C el metodo de aproximacion de funciones de Gauss-Newton. Mi problema es que al crear el while ...
  #1 (permalink)  
Antiguo 03/06/2012, 10:47
 
Fecha de Ingreso: junio-2012
Mensajes: 7
Antigüedad: 12 años, 5 meses
Puntos: 0
Problema de iteración

Hola a todo el mundo. Estoy desarollando en C el metodo de aproximacion de funciones de Gauss-Newton. Mi problema es que al crear el while para iterar el vector optimo que estamos buscando, este no funciona y entra en un bucle infinito...
Este el codigo que he escrito, todas las matrices lo he comprobado y estan bien calculadas, el unico problema es al hacer la iteracion v=v+S. Agradeceria mucho si alguien me pudiera ayudar!


do{
L=cholesky(A,longueur1);

Lt=transposee(L,longueur1,longueur1);


S=algo_solution(L,Lt,C,longueur1);

int e;

for(e=0;e<longueur1;e++){

printf("%f " ,S [e]);
}
printf("\n");

for(int k=0; k<longueur1;k++){


v[k]=v[k]+S[k];
}


}while(sqrt(B[0]*B[0]+B[1]*B[1]+B[2]*B[2]+B[3]*B[3])>(10^-6));
  #2 (permalink)  
Antiguo 03/06/2012, 11:30
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: Problema de iteración

Fijate que el operador ^ no es lo que pensas. No es potencia sino un nor logico. Tenes que usar la funcion pow:
http://www.cplusplus.com/reference/clibrary/cmath/pow/

Saludos
  #3 (permalink)  
Antiguo 03/06/2012, 11:45
 
Fecha de Ingreso: junio-2012
Mensajes: 7
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Problema de iteración

Cierto, muchas gracias, de tanto usarlo en Matlab ni lo habia pensado. De todas formas, hablandolo con unos compañeros, resulta que no es problema de mi programa, sino del criterio de parada del while, o sea que es algo matematico. Gracias de todas formas!

Etiquetas: c++, gauss, iteracion, while()
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:25.