PDA

Ver la Versión Completa Con Imagenes : Pregunta de Programacion - Urgente!!!!


Ayudante De Santa
06-11-2015, 22:19:08
Los mejores licores
Sasuke.
18-10-2009, 22:34:20
Bueno Amigos Foristas ojala me ayuden con montar esto, ya que muchos de ustedes saben mas que yo de esto.

Tengo q hacer para una materia (Algebra Lineal) un programa q me encuentre las soluciones a un sistema de ecuaciones Lineales por medio de los métodos de jacobi y gauss seidel.

El programa en el que lo tengo que hacer (y a mi no me da :S) es Visual Basic 2008 Express Edition

Ojala el que sea capaz de hacerlo me colabore con eso que es para un trabajo muy importante

me puede mandar un mensaje privado, o por aca lo puede montar o me puede agregar al msn. [email protected] ([email protected])

muchisimas gracias de antemano

Ayudante De Santa
06-11-2015, 22:19:08
Los mejores licores
Kperuzzo
18-10-2009, 22:40:32
Parce usted esta hablando de matrices o de que :S

Sasuke.
18-10-2009, 22:47:10
sisas men, sabes de eso? ayudame porfa!

sr_alucard
18-10-2009, 22:59:13
Parce usted esta hablando de matrices o de que :S

Esos dos algoritmos son para solucionar de manera eficiente, problemas matriciales, siempre y cuando las matrices sean EDD, hay otra condicion, pero no me acuerdo:laughing9:.
Parce encontre una pagina con el codigo en visual basic 6, pero como no se puede postear el link a paginas externas, busque "gauss seidel visual basic" en google, la primera pagina tiene el codigo. Ya seria que ud mire que cambios habria que hacerle para que pueda funcionar en la version express 2008, normalmente no hay cambios muy drasticos entre versiones. Aunque el VB 6, es varias versiones anteriores al 2008.

Kperuzzo
18-10-2009, 23:01:37
Parce yo se programarlas en c, yo no he llegado a hacerlas en el lenguaje que a usted le toca.

Kperuzzo
18-10-2009, 23:09:30
Parce esto es lo que dice alucard

http://www.************/file/70644983/a985b9db/jacobigauss-seidel.html

Pass: www.sinfocol.org

Eso es para un trabajo suyo imposible que me vayan a expulsar por una cosa asi jaja pues lo del pass si algo usted me ayuda XD

Kperuzzo
18-10-2009, 23:10:34
Aqui hay otro que es para eliminacion de gauss jordan que se sabe que es volver 1 y 0 la matriz

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=60408&lngWId=1

Kperuzzo
18-10-2009, 23:11:37
Este seria para resolver ecuaciones lineales y determinantes
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=50584&lngWId=1

tripichi
18-10-2009, 23:16:48
los estudiantes de primeros semestres de ing de sistemas te pueden ayudar

Sasuke.
18-10-2009, 23:16:50
ok empezare a bajar haber

Sasuke.
18-10-2009, 23:37:24
no me sirvio, no consigo el codigo, ps le doy en block de notas para buscar la info de los codigos pero no dan, aparte esta en VB6 y no me sirve asi tenga muy pocas diferencias con el 2008 tiene que ser en ese. Para el que sepa o lo tenga ya hecho o algo se lo agradeceria mucho

:rr:

sr_alucard
18-10-2009, 23:51:01
|.;3537220']no me sirvio, no consigo el codigo, ps le doy en block de notas para buscar la info de los codigos pero no dan, aparte esta en VB6 y no me sirve asi tenga muy pocas diferencias con el 2008 tiene que ser en ese. Para el que sepa o lo tenga ya hecho o algo se lo agradeceria mucho

:rr:
Private Sub MJacobi()
On Error Resume Next
matriz1 = matriz
vector_Ini1 = vector_Ini
Error = 1000
Dim var As Double
For i = 1 To Int(nroIteraciones.Text)
var = 0
Jacobi.Rows = Jacobi.Rows + 1
Jacobi.TextMatrix(i, 0) = i
For j = 0 To TamañoM - 1
var = vector_B(j)
For k = 0 To TamañoM - 1
If j <> k Then
var = var + ((-1) * matriz(j, k) * (vector_Ini(1, k)))
End If
Next k
var = var / matriz(j, j)
If Calc.Value = 0 Then
var = Round(var, Val(nroCifras.Text))
Jacobi.TextMatrix(i, j + 1) = FormatNumber(var, Val(nroCifras.Text))
Else
Jacobi.TextMatrix(i, j + 1) = FormatNumber(var, 16)
End If
vector_Ini(2, j) = var
Next j
Error = 0
For j = 0 To TamañoM - 1
Error = Error + (vector_Ini(2, j) - vector_Ini(1, j)) ^ 2
Next j
Error = Error ^ 0.5
If Calc.Value = 0 Then
Error = Round(Error, Val(nroCifras.Text))
Jacobi.TextMatrix(i + 1, TamañoM + 1) = FormatNumber(Error, Val(nroCifras.Text))
Else
Jacobi.TextMatrix(i + 1, TamañoM + 1) = FormatNumber(Error, 16)
End If
For j = 0 To TamañoM - 1
vector_Ini(1, j) = vector_Ini(2, j)
Next j
If Flag Then Exit For
If Error <= nroTolerancia.Text Then Flag = True
Next i
Jacobi.Rows = Jacobi.Rows - 1
End Sub

Private Sub MGauss_Seidel()
On Error Resume Next
Error = 1000
Dim var As Double
For i = 1 To Int(nroIteraciones.Text)
Gauss_Seidel.Rows = Gauss_Seidel.Rows + 1
var = 0
Gauss_Seidel.TextMatrix(i, 0) = i
For j = 0 To TamañoM - 1
var = vector_B(j)
For k = 0 To TamañoM - 1
If j <> k Then
var = var + ((-1) * matriz(j, k) * (vector_Ini(1, k)))
End If
Next k
var = var / matriz(j, j)
vector_Ini(1, j) = var
If Calc.Value = 0 Then
var = Round(var, Val(nroCifras.Text))
Gauss_Seidel.TextMatrix(i, j + 1) = FormatNumber(var, Val(nroCifras.Text))
Else
Gauss_Seidel.TextMatrix(i, j + 1) = FormatNumber(var, 16)
End If
Next j
Error = 0
For j = 0 To TamañoM - 1
Error = Error + (vector_Ini(2, j) - vector_Ini(1, j)) ^ 2
Next j
Error = Error ^ 0.5
If Calc.Value = 0 Then
Error = Round(Error, Val(nroCifras.Text))
Gauss_Seidel.TextMatrix(i + 1, TamañoM + 1) = FormatNumber(Error, Val(nroCifras.Text))
Else
Gauss_Seidel.TextMatrix(i + 1, TamañoM + 1) = FormatNumber(Error, 16)
End If
If Flag Then Exit For
If Error <= nroTolerancia.Text Then Flag = True
Next i
Gauss_Seidel.Rows = Gauss_Seidel.Rows - 1
End Sub

Ese es el codigo de los dos metodos, a mi todas las clases, me abren con el bloc de notas.
Abra el Metodos.frm, que ahi esta todo para calcular GS y jacobi.
Aunque le quedaria mas facil, implementar los pseudocodigos de estos dos metodos, que hay varios ejemplos en internet.

Sasuke.
19-10-2009, 22:46:38
pero la vuelta es q no me da en vb2008

oswalgogra
26-10-2009, 09:55:29
Si no funciona en vb2008, entonces te toca revisar si ha cambiado la forma de llamar los métodos y la forma de operar las variables según el tipo. Esa vaina siempre pasa con el bendito microsoft.