Visual Basic - Ayuda con FOR por FAVOR!!!

Life is soft - evento anual de software empresarial
 
Vista:

Ayuda con FOR por FAVOR!!!

Publicado por Mc_Gregor (5 intervenciones) el 28/06/2007 01:28:32
'La idea de este codigo seria generar unos valores que se dan en el tiempo, son datos de cinetica
'En realidad el ciclo debe ir hasta 3600 segundos para luego graficarlo en un chart en el tiempo
'Pero se podrian tomar valores cada 5 minutos y usarlos para graficar en funcion al tiempo es decir
'el valor de TG(0) en funcion al tiempo 0 <-- cero
'el valor siguiente TG(300) en funcion al tiempo 5 minutos
'el valor siguiente TG(600) en funcion al tiempo 10 minutos
'lo mismo para DG(0) - MG(0) etc
'y graficar todos en funcion al tiempo, en un chart de lineas 2d o como sea
'para ver el rendimiento de cada uno en funcion al tiempo..


Private Sub cmdGenerar_Click()
Select Case cmboTemp.Text '<--- Este es un combo de Temperaturas
Case " 50 "
K1 = 8.33333333333333E-04
K2 = 1.83333333333316E-03
K3 = 3.58333333333337E-03
K4 = 2.04666666666667E-02
K5 = 4.03333333333337E-03
K6 = 1.16666666666667E-04

Case " 55 "
K1 = 1.13862210963795E-03
K2 = 2.32095909473418E-03
K3 = 5.74246109883715E-03
K4 = 2.89744496993089E-02
K5 = 4.69766632997586E-03
K6 = 1.46495829609785E-04

Case " 60 "
K1 = 1.54124316379209E-03
K2 = 2.91755385164856E-03
K3 = 0.009073207398491
K4 = 4.05930299722181E-02
K5 = 5.4464367252848E-03
K6 = 1.82698746932929E-04

Case " 65 "
K1 = 2.06763524737655E-03
K2 = 3.64277221337595E-03
K3 = 1.41432193654767E-02
K4 = 5.63062979488651E-02
K5 = 6.28699601307812E-03
K6 = 2.26365055037794E-04

End Select

VolTotal = 1.215124 '<-- Se carga este valor en la variable volTotal

TG(0) = 1 / VolTotal
DG(0) = 0 / VolTotal
MG(0) = 0 / VolTotal
Gly(0) = 0 / VolTotal
MEster(0) = 0 / VolTotal
MeOH(0) = 6 / VolTotal
'---------------------------------------- HASTA AQUI TODO BIEN!!!
'Se que algo dentro del for esta mal pero no le entiendo nomas
'Los valores en el indice (cero) mas arriba son los iniciales + los valores de las K

Dim x, i, j, k, l, m As Integer

For x = 1 To 60
For i = 1 To 60
For j = 1 To 60
For k = 1 To 60
For l = 1 To 60
For m = 1 To 60
TG(x) = TG(x - 1) + K2 * DG(x - 1) * MEster(x - 1) - K1 - TG(x - 1) * MeOH(x - 1)
DG(i) = DG(i - 1) + K1 * TG(i - 1) * MeOH(i - 1) - K3 * DG(i - 1) * MeOH(i - 1) + K4 * MG(i - 1) * MEster(i - 1) - K2 * DG(i - 1) * MEster(i - 1)
MG(j) = MG(j - 1) + K3 * DG(j - 1) * MeOH(j - 1) - K4 * MG(j - 1) * MEster(j - 1) + K6 * Gly(j - 1) * MEster(j - 1) - K5 * MG(j - 1) * MeOH(j - 1)
Gly(k) = Gly(k - 1) + K5 * MG(k - 1) * MeOH(k - 1) - K6 * Gly(k - 1) * MEster(k - 1)
MEster(l) = MEster(l - 1) + K1 * TG(l - 1) * MeOH(l - 1) + K3 * DG(l - 1) * MeOH(l - 1) + K5 * MG(l - 1) * MeOH(l - 1) - K6 * Gly(l - 1) * MEster(l - 1) - K4 * MG(l - 1) * MEster(l - 1) - K2 * DG(l - 1) * MEster(l - 1)
MeOH(m) = MeOH(m - 1) - MEster(m) - MEster(m - 1) '<-- Aqui se queda y me dice q el subindice esta fuera del intervalo marcado en amarillo
Next
Next
Next
Next
Next
Next

lbl1.Caption = TG(60) '<-- Tendria q entregarme el valor q quedo en el TG(60) Tiene q ser=0.596046
lbl2.Text = DG(60) '<-- 0.116956
lbl3.Text = MG(60) '<-- 0.068453
lbl4.Text = Gly(60) '<-- 0.041506 Los resultados tendrian q dar asi
lbl5.Text = MEster(60) '<-- 0.378379
lbl6.Text = MeOH(60) '<-- 4.5594

End Sub

PORFAVOR HEEEEEEEEEEEEELP MEEEEEE :/
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con FOR por FAVOR!!!

Publicado por yo (1 intervención) el 28/06/2007 02:22:48
el error te sale en la línea

MeOH(m) = MeOH(m - 1) - MEster(m) - MEster(m - 1)

seguramente ha de ser cuando M es igual a 1, y eso puede suceder porque en ese momento intentas accesar al elemento 0 del array MEster.

Verifica los rangos del arreglo MEster
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con FOR por FAVOR!!!

Publicado por Mc_Gregor (5 intervenciones) el 28/06/2007 13:20:39
Ya intente de muchas formas pero no resuelvo el problema.. alguna sugerencia¿¿??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar