Hallo,
ich soll für die näherungsweise Berechnung einer Nullstelle für die Funktion: f(x)= e^-x² -w
ein Programm schreiben, nach Regula-Falsi-Schema (ich hoffe einige von euch kennen es, ansonsten kann ich gern nochmal erklären.
Es gilt: w>0
w, beide intervallgrenzen, die maximalen iterationsschritte und die genauigkeitsschranke können über textfelder eingegeben werden.
Mein Problem ist jetzt nun, dass ich die sache mit dem vorzeichenwechsel nicht ganz implementieren kann, es gilt ja
sgn(f(u)) ungleich sgn(f(v)) und u(i+1)=u(i); v(i+1) =t für sgn(f(t)) = sgn(f(vi))
folgendes habe ich schon erarbeitet (vorsicht, vba-anfänger
)
ich habe schon andere lösungsansätze gefunden, wollte es aber gern mit der sgn-funktion machen, wenn mir einer von euch helfen könnte.
Vielen Dank für eure Zeit.
ich soll für die näherungsweise Berechnung einer Nullstelle für die Funktion: f(x)= e^-x² -w
ein Programm schreiben, nach Regula-Falsi-Schema (ich hoffe einige von euch kennen es, ansonsten kann ich gern nochmal erklären.
Es gilt: w>0
w, beide intervallgrenzen, die maximalen iterationsschritte und die genauigkeitsschranke können über textfelder eingegeben werden.
Mein Problem ist jetzt nun, dass ich die sache mit dem vorzeichenwechsel nicht ganz implementieren kann, es gilt ja
sgn(f(u)) ungleich sgn(f(v)) und u(i+1)=u(i); v(i+1) =t für sgn(f(t)) = sgn(f(vi))
folgendes habe ich schon erarbeitet (vorsicht, vba-anfänger

Code:
Option Explicit
'Globale Variable Eulersche Zahl
Const e As Double = 2.718281828459
Private Sub Command1_Click()
Dim w As Integer, itmax As Integer, it As Integer, u As Integer, v As Integer
Dim genauigkeit As Double, t As Double, ausgabeT As Double, vy As Double, uy As Double
it = 0
'Deklarierung der Eingabewerte
w = TextW.Text
iteration = TextIterationsschritt.Text
u = TextU.Text
v = TextV.Text
genauigkeit = TextGenauigkeitsschranke.Text
'Funktion für f(u)
uy = ((e ^ (u ^ 2)) - w)
'Funktion für f(v)
vy = ((e ^ (v ^ 2)) - w)
'Funktion für t
t = v - vy * ((v - u) / (vy - uy))
'Funktion für f(t)
ausgabeT = ((e ^ (t ^ 2)) - w)
'Ausgabeanweisung
If ausgabeT <= genauigkeit Then
MsgBox "Sie haben die gewünschte Genauigkeit erreicht. Der Wert ist " & ausgabeT
End If
End Sub
ich habe schon andere lösungsansätze gefunden, wollte es aber gern mit der sgn-funktion machen, wenn mir einer von euch helfen könnte.
Vielen Dank für eure Zeit.