Lagrangesches Interpolationspolynom

Neue Frage »

aanYaa Auf diesen Beitrag antworten »
Lagrangesches Interpolationspolynom
Meine Frage:
Hallo smile

ich sitze gerade an folgender Aufgabe und komme nicht weiter. Sie soll in Matlab als Skript geschrieben werden.

Gegeben ist .

Bestimmen Sie F(1,45) näherungsweise als Funktionswert des Lagrangeschen Interpolationspolynoms p zu den Stützstellen x1=0, x2=1, x3=2 mit exakten Stützwerten F(0), F(1), F(2).

Meine Ideen:
Mein Matlab-Skript sieht bis jetzt so aus:

----------
x1=0;
x2=1;
x3=2;

syms x;

L1= ((x-x2)*(x-x3))/((x1-x2)*(x1-x3))
L2= ((x-x1)*(x-x3))/((x2-x1)*(x2-x3))
L3= ((x-x1)*(x-x2))/((x3-x1)*(x3-x2))

F0 = int((2/sqrt(pi))*exp(-(x1^2)),x,0,0);
F1 = int((2/sqrt(pi))*exp(-(x1^2)),x,0,1);
F2 = int((2/sqrt(pi))*exp(-(x1^2)),x,0,2);

p = F0*L1+F1*L2+F2*L3
----------

Damit rechne ich die Lagrangeschen Basispolynome und die exakten F aus und bilde das Interpolationspolynom.
Wenn ich allerdings die F schriftlich/ mit dem Taschenrechner ausrechne komme ich auf andere Werte als mit Matlab - woran könnte dies liegen?

Jetzt stehe ich allerdings auf dem Schlauch: Wie kann ich mit diesem Polynom nun mein F(1,45) bestimmen? Die 1,45 ist ja die obere Grenze, also nix was ich hier einsetzen kann oder?

Ich würde mich sehr über Hilfe freuen. smile
Math1986 Auf diesen Beitrag antworten »
RE: Lagrangesches Interpolationspolynom
Zitat:
Original von aanYaa
Jetzt stehe ich allerdings auf dem Schlauch: Wie kann ich mit diesem Polynom nun mein F(1,45) bestimmen? Die 1,45 ist ja die obere Grenze, also nix was ich hier einsetzen kann oder?
Die Frage verstehe ich nicht.

Du hast doch F(a) approximiert durch das Lagrangesche Interpolationspolynom, d.h. .
Also ist doch auch
Das kannst du doch nach Konstruktion von p(a) einsetzen und ausrechnen.

Siehe auch [WS] Polynominterpolation - Theorie
 
 
aanYaa Auf diesen Beitrag antworten »

Danke für die schnelle Antwort! Das wusste ich zum Beispiel nicht - ich bin noch ziehmlich am Anfang was das Thema betrifft. ;-)

Aber stimmt denn das Skript, so wie ich es bis jetzt habe? Denn beim rechnen mit dem Taschenrechner komme ich bei F(0), F(1) und F(2) auf andere Werte.

Lg
Math1986 Auf diesen Beitrag antworten »

Der Fehler bei dir ist, dass du nach x integrieren musst, also:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
x1=0;
x2=1;
x3=2;

syms x;

(...)

F0 = int((2/sqrt(pi))*exp(-(x^2)),x,0,x1);
F1 = int((2/sqrt(pi))*exp(-(x^2)),x,0,x2);
F2 = int((2/sqrt(pi))*exp(-(x^2)),x,0,x3);
Also du integrierst natürlich nach x, aber deine oberen Grenzen sind x1 bis x3.

Damit erhälst du dann die Stützstellen (für i=1,2,3) des Interpolationspolynoms.

Poste mal deine Ergebnisse, dann können wir vergleichen.
aanYaa Auf diesen Beitrag antworten »

Ach, na klar muss ich nach x integrieren...Danke.

Also F(0)=0 in beiden Fällen.

mit TR:
F(1)=0,8427..., F(2)=0,99532...

Bei Matlab kommt jetzt etwas mit ERF (also error function)
F1 =
(5081767996463981*pi^(1/2)*erf(1))/9007199254740992
F2 =
(5081767996463981*pi^(1/2)*erf(2))/9007199254740992

lg
Math1986 Auf diesen Beitrag antworten »

Deine Taschenrechnerergebnisse stimmen, Matlab liefert mir mit dem oben genannten Code exakt das selbe verwirrt
Hast du das von oben so übernommen? also ohne das "(...)"?
Wenn du das einfach nur kopierst dann kann da ja nichts anderes herauskommen als bei mir.

Jedenfalls erhälst du so deine Stützstellen, und die Lagrange-Basispolynome hast du ja bereits berechnet.

Wenn du das Lagrange-Interpolationspolynom aufgestellt hast musst du das nur noch an der Stelle 1.45 auswerten und bist fertig.

Arbeite noch weiter an der Matlab-Umsetzung!
aanYaa Auf diesen Beitrag antworten »

ich finde meinen fehler nich...ich habe es dann von dir einfach kopiert aber es kommt immer noch nicht das richtige raus:

[attach]22590[/attach]
Math1986 Auf diesen Beitrag antworten »

Das ist seltsam, was erscheint denn, wenn du mit der Maus über das rot-unterstrichene Gleichheitszeichen fährst?
aanYaa Auf diesen Beitrag antworten »

Eigentlich nur, dass der Wert angezeigt wird.

[attach]22594[/attach]

Naja, ich geh morgen noch einmal auf Fehlersuche, aber herzlichen Dank für deine Bemühungen. smile
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »