

Title  Use Newton's method on the equation Z^3  3^Z to draw fractals in Visual Basic 6 
Description  This example shows how to use Newton's method on the equation Z^3  3^Z to draw fractals in Visual Basic 6. 
Keywords  Newton's method, nonpolynomial function, root, function, fractal 
Categories  Algorithms, Graphics 


This example is exactly like Use Newton's method on the equation Z^2  2^Z to draw fractals in Visual Basic 6 except it uses a different equation and derivative. The following code shows how the program calculates the function Z^3  3^Z and its derivative 3 * Z  3^Z * ln(3).


' The function.
' F(x) = x^3  3^x.
Private Function F(ByVal x As Complex) As Complex
Dim x3 As Complex
Dim three As Complex
Dim three_tothe_x As Complex
' x^3.
Set x3 = x.Times(x).Times(x)
' 3 + 0i.
Set three = NewComplex(3, 0)
' 3^x.
Set three_tothe_x = three.ToThePowerOf(x)
' x^3  3^x.
Set F = x3.Minus(three_tothe_x)
End Function
' The function's derivative.
' dFdx(x) = 3 * x^2  3^x * ln(3).
Private Function dFdx(ByVal x As Complex) As Complex
Dim three As Complex
Dim three_times_x2 As Complex
Dim three_tothe_x As Complex
Dim three_tothe_x_log3 As Complex
Dim x2 As Complex
' 3.
Set three = NewComplex(3, 0)
' x^2.
Set x2 = x.Times(x)
' 3 * x^2.
Set three_times_x2 = three.Times(x2)
' 3^x.
Set three_tothe_x = three.ToThePowerOf(x)
' 3^x * ln(2).
Set three_tothe_x_log3 = _
three_tothe_x.TimesComponents(Log(3), 0)
' 3 * x^2  3^x * ln(3).
Set dFdx = three_times_x2.Minus(three_tothe_x_log3)
End Function


See the code for additional details.
Unfortunately this code is quite slow because of all of the heavylifting it does manipulating Complex objects. The VB .NET version is much faster.
For more information on Newton's method, see Eric W. Weisstein's article Newton's Method from MathWorldA Wolfram Web Resource.





