NDSolve - Wie Präzise ist das? < Mathematica < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 14:18 Do 03.11.2011 | Autor: | ThomasTT |
Aufgabe | g[x_] = y[x] /.
First[Simplify[
NDSolve[{y'''[x] + y''[x]*y[x] == 0, y[0] == 0, y'[0] == 0,
y''[0] == 1}, y, {x, 0, 10}, AccuracyGoal -> 20,
PrecisionGoal -> 20, WorkingPrecision -> 30]]];
PlotAnalytical = Plot[g[x], {x, 0, 10}] |
Bei dem obigen Ausdruck wird per NDSolve eine DGL "gelöst". Nun frage ich mich aber wie akurat diese Lösung ist (im Allgemeinen), wenn man außerdem die Parameter AccuracyGoal, PrecisionGoal und/oder WorkingPrecision nutzt. Wie genau spielen die zusammen? Das ist mir irgendwie nicht klar.
Gruß
Thomas
|
|
|
|
1: | g[x_] = y[x] /.
| 2: | First[Simplify[
| 3: | NDSolve[{y'''[x] + y''[x]*y[x] == 0, y[0] == 0, y'[0] == 0,
| 4: | y''[0] == 1}, y, {x, 0, 10}, AccuracyGoal -> 20,
| 5: | PrecisionGoal -> 20, WorkingPrecision -> 30]]];
| 6: | PlotAnalytical = Plot[g[x], {x, 0, 10}] |
> Bei dem obigen Ausdruck wird per NDSolve eine DGL
> "gelöst". Nun frage ich mich aber wie akurat diese Lösung
> ist (im Allgemeinen), wenn man außerdem die Parameter
> AccuracyGoal, PrecisionGoal und/oder WorkingPrecision
> nutzt. Wie genau spielen die zusammen? Das ist mir
> irgendwie nicht klar.
>
> Gruß
>
> Thomas
Hallo Thomas,
dazu müsste man sich mittels Hilfe-Fenster und/oder
Mathematica-Wälzer etwas in die Funktionsweise der
Befehle AccuracyGoal, PrecisionGoal, WorkingPrecision
vertiefen. Eine erste kleine Suche führt auf die Aussage:
With PrecisionGoal->p and AccuracyGoal->a, Mathematica
attempts to make the numerical error in a result of size x
be less than
[mm] 10^{-a}+|x|*10^{-p}
[/mm]
Mit deinen obigen Werten a=20 und p=20 und dem
größten in deiner Grafik auftretenden y-Wert [mm] \approx15
[/mm]
bedeutet dies, dass der (absolute) Fehler dieses Wertes
höchstens
[mm] $10^{-20}+|15|*10^{-20}\ [/mm] =\ [mm] 1.6*10^{-19}$
[/mm]
sein sollte. Für alle praktischen Zwecke würde also
wohl auch eine wesentlich bescheidenere Genauigkeits-
forderung wie z.B. p=a=6 ebenfalls ausreichen ...
Zum Testen würde ich einmal eine Serie von Werten
wie z.B. $\ [mm] a=p\in\{1,2,3, .... , 20\}$ [/mm] an einem Beispiel
(vielleicht mit einer nicht ganz so pflegeleichten DGL)
ausprobieren und die Ergebnisse vergleichen.
LG Al-Chw.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 21:06 Do 03.11.2011 | Autor: | ThomasTT |
Super, vielen Dank.
|
|
|
|