von MrSpock » Mo, 31.05.2010 12:21
Hallo Karolus,
ja, es geht gerade darum, die finanzmathematischen Funktionen mit der Lösung "von Hand" anschaulich zu machen. Die beiden von dir genannten Funktionen kommen auch zum Einsatz.
Bin aber von der Zielwertsuche enttäuscht. Ich sag es ja nicht gerne, aber Excel hat innerhalb einer Sekunde einen sinnvollen zielwert gefunden. OO Calc hängt sich auf oder vielleicht rechnet es auch nur extrem langsam, aber ich habe jetzt einmal 40 Minuten gewartet ohne Ergebnis. Auch bei Zielwertsuche in der 10 Zeile, wo die Änderung der veränderbaren Zelle sich erst nach 9 Schritten bemerkbar macht, wird in der Regel ein unsinniges Ergebnis (Wert 0) zurückgeliefert. Die Zielwertsuche kann man bei Werten, die sich erst nach ein paar Zwischenschritten ändern leider vergessen.
Habe mir jetzt mit einem Macro geholfen:
Code: Alles auswählen
sub ZielwertSuche
rem ----------------------------------------------------------------------
rem define variables
dim TabellenListe as object
dim Tabelle as object
dim Zelle as object
dim obererWert, untererWert, wert as Double
rem ----------------------------------------------------------------------
TabellenListe = ThisComponent.getSheets()
Tabelle = TabellenListe.getByIndex(0)
rem H1
Zelle = Tabelle.getCellByPosition(7, 0)
Zelle.Value = 0.1
obererWert = 0.05
untererWert = 0.0
alterZellenwert = 10000000
Do
wert = (obererWert + untererWert) *0.5
zaehler = zaehler +1
Zelle = Tabelle.getCellByPosition(7, 0)
Zelle.Value = wert
rem D347
Zelle = Tabelle.getCellByPosition(3, 346)
If ((Zelle.Value > 0.01) and (Abs(Zelle.Value - alterZellenWert) < 0.001)) Then
zaehler = 200
End If
alterZellenwert = Zelle.Value
If Zelle.Value > 1.0 Then
untererWert = wert
Else
obererWert = wert
End If
Loop Until (Zelle.Value < 0.1 and Zelle.Value > 0.01) or zaehler > 200
end sub
Ist natürlich nicht allgemein. Werde jetzt noch ein Dialogfenter dazupacken, so dass es etwas handlicher wird. Ein akzeptables Ergebnis wird bereits nach gut 10 Schritten gefunden, darum kann ich nicht verstehen, was die Zielwertsuche hier über 40 Minuten lang macht

Hallo Karolus,
ja, es geht gerade darum, die finanzmathematischen Funktionen mit der Lösung "von Hand" anschaulich zu machen. Die beiden von dir genannten Funktionen kommen auch zum Einsatz.
Bin aber von der Zielwertsuche enttäuscht. Ich sag es ja nicht gerne, aber Excel hat innerhalb einer Sekunde einen sinnvollen zielwert gefunden. OO Calc hängt sich auf oder vielleicht rechnet es auch nur extrem langsam, aber ich habe jetzt einmal 40 Minuten gewartet ohne Ergebnis. Auch bei Zielwertsuche in der 10 Zeile, wo die Änderung der veränderbaren Zelle sich erst nach 9 Schritten bemerkbar macht, wird in der Regel ein unsinniges Ergebnis (Wert 0) zurückgeliefert. Die Zielwertsuche kann man bei Werten, die sich erst nach ein paar Zwischenschritten ändern leider vergessen.
Habe mir jetzt mit einem Macro geholfen:
[code]
sub ZielwertSuche
rem ----------------------------------------------------------------------
rem define variables
dim TabellenListe as object
dim Tabelle as object
dim Zelle as object
dim obererWert, untererWert, wert as Double
rem ----------------------------------------------------------------------
TabellenListe = ThisComponent.getSheets()
Tabelle = TabellenListe.getByIndex(0)
rem H1
Zelle = Tabelle.getCellByPosition(7, 0)
Zelle.Value = 0.1
obererWert = 0.05
untererWert = 0.0
alterZellenwert = 10000000
Do
wert = (obererWert + untererWert) *0.5
zaehler = zaehler +1
Zelle = Tabelle.getCellByPosition(7, 0)
Zelle.Value = wert
rem D347
Zelle = Tabelle.getCellByPosition(3, 346)
If ((Zelle.Value > 0.01) and (Abs(Zelle.Value - alterZellenWert) < 0.001)) Then
zaehler = 200
End If
alterZellenwert = Zelle.Value
If Zelle.Value > 1.0 Then
untererWert = wert
Else
obererWert = wert
End If
Loop Until (Zelle.Value < 0.1 and Zelle.Value > 0.01) or zaehler > 200
end sub[/code]
Ist natürlich nicht allgemein. Werde jetzt noch ein Dialogfenter dazupacken, so dass es etwas handlicher wird. Ein akzeptables Ergebnis wird bereits nach gut 10 Schritten gefunden, darum kann ich nicht verstehen, was die Zielwertsuche hier über 40 Minuten lang macht :(