For...To...Next does not evaluate the border numbers of range.

  • Thread starter Thread starter Alexanderkng
  • Start date Start date
A

Alexanderkng

Guest
Hello again,

I have a problem with a code which does not make sense to me.

I am using For...To...Next to evaluate 3 equations but sometimes it takes the border numbers and sometimes it doesn't. Any idea why does this happen?


Private Sub btnCalcular_Click(sender As Object, e As EventArgs) Handles btnCalcular.Click



'''''''''''''''Para Deflexion, Corte y Momento por carga 1

' Coeficientes de Extremo Izquierdo a Posición de Carga 1

decAaC1 = Math.Sinh(dblCaracteristicaSistema * dblLongitud * 100) * Math.Cos(dblCaracteristicaSistema * dblPosicionCarga1 * 100) * Math.Cosh(dblCaracteristicaSistema * (dblLongitud - dblPosicionCarga1) * 100) - Math.Sin(dblCaracteristicaSistema * dblLongitud * 100) * Math.Cosh(dblCaracteristicaSistema * dblPosicionCarga1 * 100) * Math.Cos(dblCaracteristicaSistema * (dblLongitud - dblPosicionCarga1) * 100)
decBbC1 = Math.Sinh(dblCaracteristicaSistema * dblLongitud * 100) * (Math.Cosh(dblCaracteristicaSistema * (dblLongitud - dblPosicionCarga1) * 100) * Math.Sin(dblCaracteristicaSistema * dblPosicionCarga1 * 100) - Math.Sinh(dblCaracteristicaSistema * (dblLongitud - dblPosicionCarga1) * 100) * Math.Cos(dblCaracteristicaSistema * dblPosicionCarga1 * 100)) + Math.Sin(dblCaracteristicaSistema * dblLongitud * 100) * (Math.Sinh(dblCaracteristicaSistema * dblPosicionCarga1 * 100) * Math.Cos(dblCaracteristicaSistema * (dblLongitud - dblPosicionCarga1) * 100) - Math.Cosh(dblCaracteristicaSistema * dblPosicionCarga1 * 100) * Math.Sin(dblCaracteristicaSistema * (dblLongitud - dblPosicionCarga1) * 100))

' Coeficientes de Extremo Derecho a Posición de Carga 1

decCcC1 = Math.Sinh(dblCaracteristicaSistema * dblLongitud * 100) * Math.Cos(dblCaracteristicaSistema * (dblLongitud - dblPosicionCarga1) * 100) * Math.Cosh(dblCaracteristicaSistema * dblPosicionCarga1 * 100) - Math.Sin(dblCaracteristicaSistema * dblLongitud * 100) * Math.Cosh(dblCaracteristicaSistema * (dblLongitud - dblPosicionCarga1) * 100) * Math.Cos(dblCaracteristicaSistema * dblPosicionCarga1 * 100)
decDdC1 = Math.Sinh(dblCaracteristicaSistema * dblLongitud * 100) * (Math.Cosh(dblCaracteristicaSistema * dblPosicionCarga1 * 100) * Math.Sin(dblCaracteristicaSistema * (dblLongitud - dblPosicionCarga1) * 100) - Math.Sinh(dblCaracteristicaSistema * dblPosicionCarga1 * 100) * Math.Cos(dblCaracteristicaSistema * (dblLongitud - dblPosicionCarga1) * 100)) + Math.Sin(dblCaracteristicaSistema * dblLongitud * 100) * (Math.Sinh(dblCaracteristicaSistema * (dblLongitud - dblPosicionCarga1) * 100) * Math.Cos(dblCaracteristicaSistema * dblPosicionCarga1 * 100) - Math.Cosh(dblCaracteristicaSistema * (dblLongitud - dblPosicionCarga1) * 100) * Math.Sin(dblCaracteristicaSistema * dblPosicionCarga1 * 100))



' Cálculo para Lista de Carga 1
With listvCarga1
.View = View.Details
.Columns.Add("Punto", 40, HorizontalAlignment.Center)
.Columns.Add("X (cm)", 50, HorizontalAlignment.Center)
.Columns.Add("Y (cm)", 70, HorizontalAlignment.Center)
.Columns.Add("V (Kgf)", 70, HorizontalAlignment.Center)
.Columns.Add("M (Kgf*m)", 70, HorizontalAlignment.Center)
End With

Dim XC1 As Double

' de extremo izquierdo a posicion de carga 1

For XC1 = 0 To dblPosicionCarga1 Step 0.05
Dim lvi As New ListViewItem((XC1 / 0.05 + 1).ToString("0"))
lvi.SubItems.Add((XC1 * 100).ToString("0"))
lvi.SubItems.Add(((dblCarga1 * 10 * dblCaracteristicaSistema) / (dblBalasto * dblAncho) * 1 / ((Math.Sinh(dblCaracteristicaSistema * dblLongitud * 100)) ^ 2 - (Math.Sin(dblCaracteristicaSistema * dblLongitud * 100)) ^ 2) * (2 * Math.Cosh(dblCaracteristicaSistema * XC1 * 100) * Math.Cos(dblCaracteristicaSistema * XC1 * 100) * decAaC1 + (Math.Cosh(dblCaracteristicaSistema * XC1 * 100) * Math.Sin(dblCaracteristicaSistema * XC1 * 100) + Math.Sinh(dblCaracteristicaSistema * XC1 * 100) * Math.Cos(dblCaracteristicaSistema * XC1 * 100)) * decBbC1)).ToString("0.000000"))
lvi.SubItems.Add((dblCarga1 * 1000 * 1 / ((Math.Sinh(dblCaracteristicaSistema * dblLongitud * 100)) ^ 2 - (Math.Sin(dblCaracteristicaSistema * dblLongitud * 100)) ^ 2) * ((Math.Cosh(dblCaracteristicaSistema * XC1 * 100) * Math.Sin(dblCaracteristicaSistema * XC1 * 100) + Math.Sinh(dblCaracteristicaSistema * XC1 * 100) * Math.Cos(dblCaracteristicaSistema * XC1 * 100)) * decAaC1 + (Math.Sinh(dblCaracteristicaSistema * XC1 * 100) * Math.Sin(dblCaracteristicaSistema * XC1 * 100)) * decBbC1)).ToString("0.00"))
lvi.SubItems.Add(((dblCarga1 * 10 / dblCaracteristicaSistema) * 1 / (2 * ((Math.Sinh(dblCaracteristicaSistema * dblLongitud * 100)) ^ 2 - (Math.Sin(dblCaracteristicaSistema * dblLongitud * 100)) ^ 2)) * (2 * Math.Sinh(dblCaracteristicaSistema * XC1 * 100) * Math.Sin(dblCaracteristicaSistema * XC1 * 100) * decAaC1 + (Math.Cosh(dblCaracteristicaSistema * XC1 * 100) * Math.Sin(dblCaracteristicaSistema * XC1 * 100) - Math.Sinh(dblCaracteristicaSistema * XC1 * 100) * Math.Cos(dblCaracteristicaSistema * XC1 * 100)) * decBbC1)).ToString("0.00"))

listvCarga1.Items.Add(lvi)
Next

' de posicion de carga 1 a Extremo derecho
For XC1 = dblPosicionCarga1 To dblLongitud Step 0.05
Dim lvi As New ListViewItem((XC1/ 0.05 + 2).ToString("0.00"))
lvi.SubItems.Add((XC1 * 100).ToString("0"))
lvi.SubItems.Add(((dblCarga1 * 10 * dblCaracteristicaSistema) / (dblBalasto * dblAncho) * 1 / ((Math.Sinh(dblCaracteristicaSistema * dblLongitud * 100)) ^ 2 - (Math.Sin(dblCaracteristicaSistema * dblLongitud * 100)) ^ 2) * (2 * Math.Cosh(dblCaracteristicaSistema * (dblLongitud - XC1) * 100) * Math.Cos(dblCaracteristicaSistema * (dblLongitud - XC1) * 100) * decCcC1 + (Math.Cosh(dblCaracteristicaSistema * (dblLongitud - XC1) * 100) * Math.Sin(dblCaracteristicaSistema * (dblLongitud - XC1) * 100) + Math.Sinh(dblCaracteristicaSistema * (dblLongitud - XC1) * 100) * Math.Cos(dblCaracteristicaSistema * (dblLongitud - XC1) * 100)) * decDdC1)).ToString("0.000000"))
lvi.SubItems.Add((-dblCarga1 * 1000 * 1 / ((Math.Sinh(dblCaracteristicaSistema * dblLongitud * 100)) ^ 2 - (Math.Sin(dblCaracteristicaSistema * dblLongitud * 100)) ^ 2) * ((Math.Cosh(dblCaracteristicaSistema * (dblLongitud - XC1) * 100) * Math.Sin(dblCaracteristicaSistema * (dblLongitud - XC1) * 100) + Math.Sinh(dblCaracteristicaSistema * (dblLongitud - XC1) * 100) * Math.Cos(dblCaracteristicaSistema * (dblLongitud - XC1) * 100)) * decCcC1 + (Math.Sinh(dblCaracteristicaSistema * (dblLongitud - XC1) * 100) * Math.Sin(dblCaracteristicaSistema * (dblLongitud - XC1) * 100)) * decDdC1)).ToString("0.00"))
lvi.SubItems.Add(((dblCarga1 * 10 / dblCaracteristicaSistema) * 1 / (2 * ((Math.Sinh(dblCaracteristicaSistema * dblLongitud * 100)) ^ 2 - (Math.Sin(dblCaracteristicaSistema * dblLongitud * 100)) ^ 2)) * (2 * Math.Sinh(dblCaracteristicaSistema * (dblLongitud - XC1) * 100) * Math.Sin(dblCaracteristicaSistema * (dblLongitud - XC1) * 100) * decCcC1 + (Math.Cosh(dblCaracteristicaSistema * (dblLongitud - XC1) * 100) * Math.Sin(dblCaracteristicaSistema * (dblLongitud - XC1) * 100) - Math.Sinh(dblCaracteristicaSistema * (dblLongitud - XC1) * 100) * Math.Cos(dblCaracteristicaSistema * (dblLongitud - XC1) * 100)) * decDdC1)).ToString("0.00"))

listvCarga1.Items.Add(lvi)
Next

TabFundaciones.SelectedIndex = 4



End Sub


According to the code, it should copy to the Listview the value of "dblPosicionCarga1" twice, evaluated by both cycles, but it sometimes does not (specially when the number exceeds 10), and it does not evaluated "dblLongitud" on the second cycle, again, when the number contained in "dblLongitud" increases considerably.


Thanks in advance for your help, guys!

Continue reading...
 

Similar threads

Back
Top