Cosinus über Reihe berechnen

Der O

Mitglied
Hallo,

ich hab da ein kleines Problem:

Wir haben ne Aufgabe bekommen:

Wir sollen den Cosinus von x über folgende Reihe berechnen (auf 6 Stellen genau):

cos (x) = 1 - ((x^2)/2!) + ((x^4)/4!) - ((x^6)/6!) + .....

was mir jetzt nicht ganz klar ist:

Wie könnte ich es in VB hinbekommen, dass nach jedem Durchgang der Berechnung die Reihe um ein Glied x^n / n! erweitert wird, und zwar eimal mit + und einmal mit -?

Was das Programm prinzipiell machen soll ist mir klar, nur eben nicht, wie ich das Problem mit der fortlaufenden Reihe lösen soll.

Hat jemand nen Anstoß für mich? :)
 
Hallo!

Schau doch mal hier:
Code:
Private Sub Command1_Click()

'cos (x) = 1 - ((x^2)/2!) + ((x^4)/4!) - ((x^6)/6!) + .....

'MsgBox "" & factorial(5)

Dim value As Double
Dim x As Double

x = 30# ' in Rad

For n = 0 To 65

    value = value + (-1) ^ n * x ^ (2 * n) / factorial(2 * n)

Next n

Dim result As String

result = "cos(" & x & ") = " & value

MsgBox result

 MsgBox Cos(x)

End Sub

Public Function factorial(i As Double) As Double 'Double statt Integer/Long da Double größere Werte erlaubt.
If 0 = i Then
   factorial = 1
Else
    factorial = i * factorial(i - 1)
End If
End Function

Leider ist das Ergebnis nicht auf 6 Stellen genau ...
Wie du in VB 6.0 mit größerer Genauigkeit rechnen kannst findest du hier:
http://www.rhirte.de/vb/ganzzahl.htm

Gruß Tom
 
Zurück