Lagrangesches Interpolationspolynom |
06.01.2012, 14:05 | aanYaa | Auf diesen Beitrag antworten » | |||||
Lagrangesches Interpolationspolynom Hallo 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. |
|||||||
06.01.2012, 14:30 | Math1986 | Auf diesen Beitrag antworten » | |||||
RE: Lagrangesches Interpolationspolynom
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 |
|||||||
06.01.2012, 15:11 | 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 |
|||||||
06.01.2012, 15:29 | Math1986 | Auf diesen Beitrag antworten » | |||||
Der Fehler bei dir ist, dass du nach x integrieren musst, also:
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. |
|||||||
06.01.2012, 15:48 | 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 |
|||||||
06.01.2012, 16:31 | Math1986 | Auf diesen Beitrag antworten » | |||||
Deine Taschenrechnerergebnisse stimmen, Matlab liefert mir mit dem oben genannten Code exakt das selbe 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! |
|||||||
Anzeige | |||||||
|
|||||||
07.01.2012, 10:06 | 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] |
|||||||
07.01.2012, 13:11 | Math1986 | Auf diesen Beitrag antworten » | |||||
Das ist seltsam, was erscheint denn, wenn du mit der Maus über das rot-unterstrichene Gleichheitszeichen fährst? |
|||||||
07.01.2012, 16:46 | 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. |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |