Kleines Problem mit VBA

Hallo!

Ich habe ein kleines Programm geschrieben, mit dem ich durch VBA in Excel die fallzeit eines Koerpers mit Luftwiderstand ausrechnen moechte (Stokes, ueber Newton-Iteration). Funktioniert eigentlich auch erstmal ganz gut.
Wenn ich jetzt aber fuer die Anfangsgeschwindigkeit v_0 etwas groeszeres als Null einesetze, erhoeht sich auch die fallzeit fuer dieselbe Strecke. Das finde ich ja nun etwa unsinnig. Kann aber meinen Fehlher nauch nach stundenlangem hin und her nicht finden.
Kann mir jemand helfen, bitte?

Function Fallzeit_Nach_Stokes(s, m, g, b, v_0, z_0)
t = s
i = 0.1
Do Until Abs(z(t, m, g, b, v_0, z_0)) <= 0.00000001 And Abs(z(t, m, g, b, v_0, z_0)) >= -0.00000001
t = t - z(t, m, g, b, v_0, z_0) / v(t, m, g, b, v_0)
i = i + 0.1
Loop
Fallzeit_Nach_Stokes = t
'If i > N Then
'NEWTON = "i>N"
'End If
End Function

Function z(t, m, g, b, v_0, z_0)
z = -z_0 - m * g * t / b + m / b * (v_0 + m * g / b) * (1 - Exp(-b / m * t))
'height of free fall
End Function

Function v(t, m, g, b, v_0)
v = -m * g / b + (m * g / b + v_0) * Exp(-b / m * t)
'derivaton of distance --> velocity
End Function



Danke! Schoene Gruesze!
 
AW: Kleines Problem mit VBA

Entschuldigt bitte, aber z_0 (als Anfangshoehe) muss positiv sein (wie folgt), da es sonst keine Nullstelle gibt:

Hallo!

Ich habe ein kleines Programm geschrieben, mit dem ich durch VBA in Excel die fallzeit eines Koerpers mit Luftwiderstand ausrechnen moechte (Stokes, ueber Newton-Iteration). Funktioniert eigentlich auch erstmal ganz gut.
Wenn ich jetzt aber fuer die Anfangsgeschwindigkeit v_0 etwas groeszeres als Null einesetze, erhoeht sich auch die fallzeit fuer dieselbe Strecke. Das finde ich ja nun etwa unsinnig. Kann aber meinen Fehlher nauch nach stundenlangem hin und her nicht finden.
Kann mir jemand helfen, bitte?

Function Fallzeit_Nach_Stokes(s, m, g, b, v_0, z_0)
t = s
i = 0.1
Do Until Abs(z(t, m, g, b, v_0, z_0)) <= 0.00000001 And Abs(z(t, m, g, b, v_0, z_0)) >= -0.00000001
t = t - z(t, m, g, b, v_0, z_0) / v(t, m, g, b, v_0)
i = i + 0.1
Loop
Fallzeit_Nach_Stokes = t
'If i > N Then
'NEWTON = "i>N"
'End If
End Function

Function z(t, m, g, b, v_0, z_0)
z = z_0 - m * g * t / b + m / b * (v_0 + m * g / b) * (1 - Exp(-b / m * t))
'height of free fall
End Function

Function v(t, m, g, b, v_0)
v = -m * g / b + (m * g / b + v_0) * Exp(-b / m * t)
'derivaton of distance --> velocity
End Function



Danke! Schoene Gruesze!
 
AW: Kleines Problem mit VBA

'If i > N Then
'NEWTON = "i>N"
'End If

Die Abfrage ist absichtlich auskommentiert?

Nimm statt Variant Double oder integer
 
Zuletzt bearbeitet:
AW: Kleines Problem mit VBA

Hallo Leute,

vielleicht ist ein VBA Profi unter euch, ich habe da nämlich mal eine Frage.
Ich habe IP Adressen in Spalte "F".

z.B.:



10.41.36.144
10.41.37.90
10.41.38.89 10.41.30.29
10.41.35.113
Ich suche eine Funktion die mir die Spalte "F" nach freien IP Adressen absucht und sie dann in einer ListBox auf einer UserForm anzeigt. Also denke ich wird man die Grenzen der IP Range in zwei Variablen ablegen müssen (Obere und- untere Grenze; z.B. 10.41.38.190 und 10.41.30.01). Was mir außerdem schwierig erscheint ist das die IP Adressen durch Punkte getrennt sind. Hat vielleicht jemand schon mal ähnliches programmiert? :rolleyes:

PS:
Benutze Excel 2003
 
Top