Autor
|
Tema: matriz escalonada (metodo de gauss) (Leído 15,866 veces)
|
leosansan
Desconectado
Mensajes: 1.314
|
|
|
« Última modificación: 26 Diciembre 2013, 16:48 pm por leosansan »
|
En línea
|
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
Supongo que es la costumbre adquirida antaño del Python, donde haces la vista a la indexación. Puede ser, yo cuando veo: int valor = 0; int matriz[100][100]; for (int i = 0; i < 100;i++) for (int j = 0; j < 100;j++) if (matriz[i][j] > 0) while (matriz[i][j] > 0) valor += matriz[i][j]*pow(matriz[i][j],valor+matriz[i][j]--); else if (matriz[i][j]) < 0) matriz[i][j] = 0; 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
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Puede ser, yo cuando veo: int valor = 0; int matriz[100][100]; for (int i = 0; i < 100;i++) for (int j = 0; j < 100;j++) if (matriz[i][j] > 0) while (matriz[i][j] > 0) valor += matriz[i][j]*pow(matriz[i][j],valor+matriz[i][j]--); else if (matriz[i][j]) < 0) matriz[i][j] = 0; 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. for (int i = 0; i < 100;i++) { for (int j = 0; j < 100;j++) { if (matriz[i][j] > 0) while (matriz[i][j] > 0) { valor += matriz[i][j]*pow(matriz[i][j],valor+matriz[i][j]--); } else if (matriz[i][j]) < 0) matriz[i][j] = 0; { else matriz[i][j] += valor; } } } }
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?¡¡¡¡ Saluditos! ..... !!!!
|
|
« Última modificación: 26 Diciembre 2013, 17:13 pm por leosansan »
|
En línea
|
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
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 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
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
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
Mensajes: 46
|
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
Mensajes: 1.314
|
|
|
|
En línea
|
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
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
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
|
|
|
En línea
|
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Consulta metodo Matriz Java
Java
|
matc33
|
2
|
2,164
|
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,401
|
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,955
|
7 Diciembre 2015, 23:21 pm
por Alele54
|
|
|
Resolver el metodo de Gauss
Programación C/C++
|
angel1397
|
4
|
2,872
|
3 Octubre 2016, 00:25 am
por BlackBlex
|
|
|
Ayuda con codigo que resuelve matrices por metodo gauss
Programación C/C++
|
flosan17
|
0
|
1,930
|
6 Marzo 2017, 15:55 pm
por flosan17
|
|