elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  matriz escalonada (metodo de gauss)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: matriz escalonada (metodo de gauss)  (Leído 15,033 veces)
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: matriz escalonada (metodo de gauss)
« Respuesta #10 en: 26 Diciembre 2013, 16:45 pm »

Cierto pero, en ocasiones las llaves dan más legibilidad (sobre todo cuando empiezas a anidar cosas)

Supongo que es la costumbre adquirida antaño del Python, donde haces la vista a la indexación.


Otra opción es poner %.4f
De esa forma muestra solo hasta 4 decimales, si quieres 8 solo tienes que cambiar el 4 por un 8 ;)

¡¡¡Quita, quita!!!,me resulta horrible a la vista esta visión:

Citar

La matriz inicial es

1.0000  0.0000  1.0000
1.0000  2.0000  1.0000
2.0000  1.0000  3.0000


Mejor %g y que el decida los decimales distintos de cero al final, Pero para gustos colores  ;) ;)

;-)  ;-) Felices Navidades y Próspero Año Nuevo.  ;-)  ;-)

¡¡¡¡ Saluditos! ..... !!!!




« Última modificación: 26 Diciembre 2013, 16:48 pm por leosansan » En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: matriz escalonada (metodo de gauss)
« Respuesta #11 en: 26 Diciembre 2013, 16:54 pm »

Supongo que es la costumbre adquirida antaño del Python, donde haces la vista a la indexación.
Puede ser, yo cuando veo:

Código
  1. int valor = 0;
  2. int matriz[100][100];
  3.  
  4. for (int i = 0; i < 100;i++)
  5.    for (int j = 0; j < 100;j++)
  6.        if (matriz[i][j] > 0)
  7.           while (matriz[i][j] > 0)
  8.                valor += matriz[i][j]*pow(matriz[i][j],valor+matriz[i][j]--);      
  9.        else if (matriz[i][j]) < 0) matriz[i][j] = 0;
  10.               else matriz[i][j] += valor;

Lo entiendo pero me resulta muy confuso. Y si me va una indentación ya la lío parda porque el compilador no me va a avisar de eso.


En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: matriz escalonada (metodo de gauss)
« Respuesta #12 en: 26 Diciembre 2013, 17:07 pm »

Puede ser, yo cuando veo:

Código
  1. int valor = 0;
  2. int matriz[100][100];
  3.  
  4. for (int i = 0; i < 100;i++)
  5.    for (int j = 0; j < 100;j++)
  6.        if (matriz[i][j] > 0)
  7.           while (matriz[i][j] > 0)
  8.                valor += matriz[i][j]*pow(matriz[i][j],valor+matriz[i][j]--);      
  9.        else if (matriz[i][j]) < 0) matriz[i][j] = 0;
  10.               else matriz[i][j] += valor;

Lo entiendo pero me resulta muy confuso. Y si me va una indentación ya la lío parda porque el compilador no me va a avisar de eso.

Código
  1. for (int i = 0; i < 100;i++)
  2.    {
  3.        for (int j = 0; j < 100;j++)
  4.            {
  5.                if (matriz[i][j] > 0)
  6.                while (matriz[i][j] > 0)
  7.                    {
  8.                        valor += matriz[i][j]*pow(matriz[i][j],valor+matriz[i][j]--);      
  9.                    }
  10.  
  11.            else if (matriz[i][j]) < 0) matriz[i][j] = 0;
  12.                   {
  13.                       else matriz[i][j] += valor;
  14.                   }
  15.  
  16.            }
  17.    }
  18. }


Perdona que te cite entero pero es que el código que expones está clarísimo. Repito, supongo que es la costumbre o hábito adquirido. Pero para mayor claridad reconozco que el uso de las llaves va mejor en general. ¿O.K?

;-)  ;-) Felices Navidades y Próspero Año Nuevo.  ;-)  ;-)

¡¡¡¡ Saluditos! ..... !!!!


« Última modificación: 26 Diciembre 2013, 17:13 pm por leosansan » En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: matriz escalonada (metodo de gauss)
« Respuesta #13 en: 26 Diciembre 2013, 17:12 pm »

Perdona que te cite entero pero es que el código que expones está clarísimo. Repito, supongo que es la costumbre o hábito adquirido. Pero para mayor claridad reconozco que el uso de las llaves va mejor en general. ¿O.K?
Pues entonces será la costumbre, yo el python lo usé un par de veces y a correr. Sin las llaves no soy nada :xD

Además hay un problema que le veo (no en Python, sino en los lenguajes de libre indentación):
Y si me va una indentación ya la lío parda porque el compilador no me va a avisar de eso.
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: matriz escalonada (metodo de gauss)
« Respuesta #14 en: 26 Diciembre 2013, 17:22 pm »

Y si me va una indentación ya la lío parda porque el compilador no me va a avisar de eso.

Es la pequeña ventaja de haber usado Python, el compilador te "canta" si no indexas bien, una y otra vez, lo cual te lleva a ser metódico en ese aspecto.. Al final desarrollas ese hábito y resulta sencillo de leer el código.

¡¡¡¡ Saluditos! ..... !!!!
En línea

SoyelRobert

Desconectado Desconectado

Mensajes: 46



Ver Perfil
Re: matriz escalonada (metodo de gauss)
« Respuesta #15 en: 27 Diciembre 2013, 12:52 pm »

un problema q me dejaron, pense hacerlo de esta manera:
primero escalonar la matriz inferior y superiormente, luego pasarla a la matriz identidad y tomar una matriz q empiece en la identidad y realizar las mismas operaciones q a la matriz q ingrese por teclado... el problema esta en escalonarlo, si bien lo he probado manualmente, la computadora solo atina a escalonar, pero los terminos centrales no cambian de valor... el primer paso (y en el q busco ayuda seria escalonar la matriz superiormente) el resto ya lo tengo pensado


Mmm a ver, esto solo a nivel de matematicas y concepto:

Para escalonar una matriz has de seguir el algoritmo de gauss, ahora bien si lo que quieres es obtener la matriz identidad entonces has de usar el algoritmo de gauss yordan sin embargo ten en cuenta que no te vale cualquier matriz, hay matrices que al utilizar gauss yordan no te van a dar la identidad, te dara una escalonada reducida si pero no la identidad
En línea

getting louder!
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: matriz escalonada (metodo de gauss)
« Respuesta #16 en: 27 Diciembre 2013, 13:39 pm »


... el primer paso (y en el q busco ayuda seria escalonar la matriz superiormente) el resto ya lo tengo pensado


A eso es a lo que respondí y tanto superiormente como inferiormente bajo el supuesto que se pueda hacer, que ya es harina de otro costal.

;-)  ;-) Felices Navidades y Próspero Año Nuevo.  ;-)  ;-)

¡¡¡¡ Saluditos! ..... !!!!


En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: matriz escalonada (metodo de gauss)
« Respuesta #17 en: 27 Diciembre 2013, 13:44 pm »

Para escalonar una matriz has de seguir el algoritmo de gauss, ahora bien si lo que quieres es obtener la matriz identidad entonces has de usar el algoritmo de gauss yordan sin embargo ten en cuenta que no te vale cualquier matriz, hay matrices que al utilizar gauss yordan no te van a dar la identidad, te dara una escalonada reducida si pero no la identidad
Cualquier matriz con determinante no-nulo se podrá convertir en identidad.

Si tiene un determinante nulo, significa que no es resoluble (o tiene infinitas soluciones).
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: matriz escalonada (metodo de gauss)
« Respuesta #18 en: 27 Diciembre 2013, 14:03 pm »

Cualquier matriz con determinante no-nulo se podrá convertir en identidad.

Si tiene un determinante nulo, significa que no es resoluble (o tiene infinitas soluciones).

El problema radica que el cálculo de un determinante de una matriz seria, de 100x100 por ejemplo, pasa por buscar previamente su forma diagonal con alguna de las múltiples variantes de Gauss, Jordan,Cholesky y compañía. ¿Supongo que no estarás pensando en la ineficiente regla de Lapace, por cuanto al número de operaciones que implica en comparación con la diagonalización previa  para una matriz del tamaño indicado?.

;-)  ;-) Felices Navidades y Próspero Año Nuevo.  ;-)  ;-)

¡¡¡¡ Saluditos! ..... !!!!


En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: matriz escalonada (metodo de gauss)
« Respuesta #19 en: 27 Diciembre 2013, 14:41 pm »

Cierto.

Quizás sería mejor hacer solo la triangulación y resolverla recursivamente. Si te encuentras con alguna paridad (0x = 4) entonces ya paras.
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Consulta metodo Matriz Java
Java
matc33 2 2,041 Último mensaje 23 Octubre 2013, 17:28 pm
por visualfree
S.O.S : Programa que solucione sistemas Lineales x método de Gauss :)
Programación C/C++
Bachanilorac 1 2,174 Último mensaje 20 Noviembre 2014, 21:13 pm
por avesudra
AYUDA ... Sistema lineal NxN por el método de Gauss (PIVOTE)
Programación C/C++
Alele54 0 1,733 Último mensaje 7 Diciembre 2015, 23:21 pm
por Alele54
Resolver el metodo de Gauss
Programación C/C++
angel1397 4 2,625 Último mensaje 3 Octubre 2016, 00:25 am
por BlackBlex
Ayuda con codigo que resuelve matrices por metodo gauss
Programación C/C++
flosan17 0 1,712 Último mensaje 6 Marzo 2017, 15:55 pm
por flosan17
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines