e^x Hesaplama Makrosu
e^x Hesaplama Makrosu
SORU
Herkese merhabalar,Forumu aramama rağmen bulamadığım bir durumda yardıma ihtiyacım var.Makro ödevim olarak exponential fonksiyon ile girilen x değeri için e üzeri x hesaplaması yaptırmam gerekiyor ve bunun için ödevde geçtiği üzere özellikle “For .. Next” döngüsü kullanmam gerekiyor.Formül:e^x = 1 + x + x^2/2! + x^3/3! +…..+ x^n/n!
YANIT
“For .. Next” döngüsününü burada kullanmak güçtür. Çünkü işin içine faktöryal girdiği için Excel’in sınırları (176!) aşıldığından sonuca ulaşmak mümkün değildir. e sayısınıa yaklaşmak için For n = 1 To 100 ya da For n = 1 To 1000 yeterli değil.
Bu nedenle,
Do
…..
Loop While Abs(e – sone) > 0.0000001 gibi oldukça küçük bir farka döngüyü oluşturmak gerekir.
Yazdığım makro:
Sub esayisi()
Dim n As Double
Dim x As Double
Dim e As Double
Dim sone As Double
On Error GoTo son
x = CInt(InputBox(“x için bir sayı giriniz.”, “İ.Serdar”))
e = 1
n = 1
Do
sone = e
e = e + x ^ n / fakt(n)
n = n + 1
Loop While Abs(e – sone) > 0.0000001
MsgBox “e^” & x & “=” & e
[D4] = “e^” & x & “=” & e
[C7] = “e^” & x & “=”
[D7] = e
son:
End Sub
Public Function fakt(ByRef Deg As Double) As Double
If Deg = 1 Then
fakt = 1
Exit Function
Else
fakt = Deg * fakt(Deg – 1)
End If
End Function
Dosya:
Son Yorumlar