Mathematica Intervallschach... < Mathematica < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 15:56 Mo 14.06.2010 | Autor: | Tsetsefliege |
Aufgabe | Berechne die Nullstellen des Polynoms [mm] x^{3}-3*x+1 [/mm] näherungsweise mittels Intervallhalbierung. Setzen Sie Ihre Ideen in Mathematica-Befehle oder Algorithmen um.
|
Hallo,
ich benötige Hilfe bei dem oben genannten Beispiel. Es geht jetzt nicht darum wie ich dieses Beispiel am Papier rechne, sondern in Matematica. Leider habe ich keine passende Idee zur Lösung dieses Beispiel in matematica. Es sollte mit einem "while", "Module" und "Print" Befehl lösbar sein.
Mfg,
Tsetsefliege
|
|
|
|
> Berechne die Nullstellen des Polynoms [mm]x^{3}-3*x+1[/mm]
> näherungsweise mittels Intervallhalbierung. Setzen Sie
> Ihre Ideen in Mathematica-Befehle oder Algorithmen um.
>
> Hallo,
>
> ich benötige Hilfe bei dem oben genannten Beispiel. Es
> geht jetzt nicht darum wie ich dieses Beispiel am Papier
> rechne, sondern in Matematica. Leider habe ich keine
> passende Idee zur Lösung dieses Beispiel in matematica. Es
> sollte mit einem "while", "Module" und "Print" Befehl
> lösbar sein.
Hallo zezefliege,
dann zeig doch trotzdem zuerst einmal, was du dir
(mittels Papier) schon überlegt hast. Die Ansätze dazu,
wie man etwas programmieren soll, kommen doch immer
aus Gedanken, die man sich zunächst einmal "einfach so"
mit Bleistift und Papier zurechtgelegt hat.
LG Al-Chw.
|
|
|
|
|
Ich beginne damit ein Intervall zu suchen, zwischen welchem die Funktion eine Nullstelle hat. Wenn ich 0 für x setze, erhalte ich -1, und für 2 erhalte ich 3. Also eine Nullstelle liegt in diesem Intervall.
(0+2)/2=1 Für 1 erhalte ich -1
(2+1)/2=1,5 f(x) = -0.125
.
.
.
Das mache ich eben so lange bis ich mich nahe genug an die Nullstelle genähert habe.
|
|
|
|
|
Frage hat sich geklärt, habe es folgendermaßen lösen können:
F[x_] := [mm] x^3 [/mm] - 3 x + 1
Null02[a_, b_, n_] := Module[{i, j, c}, {i = a, j = b, c = (i + j)/2};
Do[{
If[F[i] < 0,
If[F[c] < 0, i = c, j = c],
If[F[c] < 0, j = c, i = c]
], c = (i + j)/2
}, {n}]; N[c, 45]]
Null02[-2, -1, 1000]
|
|
|
|
|
> Frage hat sich geklärt, habe es folgendermaßen lösen
> können:
>
> F[x_] := [mm]x^3[/mm] - 3 x + 1
>
> Null02[a_, b_, n_] := Module[{i, j, c}, {i = a, j = b, c =
> (i + j)/2};
> Do[{
> If[F < 0,
> If[F[c] < 0, i = c, j = c],
> If[F[c] < 0, j = c, i = c]
> ], c = (i + j)/2
> }, {n}]; N[c, 45]]
> Null02[-2, -1, 1000]
sehr schön
du bist dir aber bewusst, dass damit nur eine der drei
reellen Nullstellen von F gefunden werden kann
LG Al-Chw.
|
|
|
|