Hello all, I started using VBA about 2 days ago and have no prior programming experience. I was programming the Newton Raphson method, an iterative procedure, in order to calculate data for a chemical process. Whenever I hit the green Run button, nothing happens other than the Macros menu opening. If I hit F8 to do the code step by step, nothing happens as well. I'm obviously missing something obvious, could someone please help me out? I would greatly appreciate it
Here is the code:
Function Iteration(v As Double)
Dim z1, z2, z3, z4, z5, k1, k2, k3, k4, k5, v, v_next, inum As Double
z1 = 0.43
z2 = 0.42
z3 = 0.079
z4 = 0.001
z5 = 0.07
k1 = 1.75034457
k2 = 0.28420735
k3 = 0.07519503
k4 = 0.02978122
k5 = 5.3320266
v = 0.5
inum = 0
Do
v_next = v - f(v) / fdash(v)
v = v_next
inum = inum + 1
Loop Until (inum = 100)
End Function
Function f(v As Double)
f = (z1 * (k1 - 1) / (1 + v * (k1 - 1))) + (z2 * (k2 - 1) / (1 + v * (k2 - 1))) + (z3 * (k3 - 1) / (1 + v * (k3 - 1))) + (z4 * (k4 - 1) / (1 + v * (k4 - 1))) + (z5 * (k5 - 1) / (1 + v * (k5 - 1)))
End Function
Function fdash(v As Double)
fdash = ((z1 * (k1 - 1) ^ 2) / (1 + v * (k1 - 1)) ^ 2) + ((z2 * (k2 - 1) ^ 2) / (1 + v * (k2 - 1)) ^ 2) + ((z3 * (k3 - 1) ^ 2) / (1 + v * (k3 - 1)) ^ 2) + ((z4 * (k4 - 1) ^ 2) / (1 + v * (k4 - 1)) ^ 2) + ((z5 * (k5 - 1) ^ 2) / (1 + v * (k5 - 1)) ^ 2)
End Function
Bookmarks