Polynominterpolation
Übersicht

CoffeeBetreff: Polynominterpolation |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
*off* Mein erster CodeArchiv-Eintrag ![]() Immer mal wieder nützlich, hier eine Funktion zur Polynominterpolation die nicht auf das R^2 oder R^3 beschränkt ist... Code: [AUSKLAPPEN] Const max = 15 Local x#[max] Local y#[max] Function interpolate#(x#[max], y#[max], n,ges_x#) fx# = 0.0 : l# = 1.0 For i = 0 To n Step 1 l = 1.0 For j = 0 To n Step 1 If j <> i Then l = l * ((ges_x - x[j])/(x[i]-x[j])) EndIf Next fx# = fx# + (l#*y[i]) Next Return fx# End Function So funktioniert der Aufruf: Code: [AUSKLAPPEN] Const max = 15 Local x#[max] Local y#[max] n = Input("Grad des Polynoms: ") For i = 0 To n x[i] = Input("x"+Str(i)+": ") y[i] = Input("y"+Str(i)+": ") Next ges_x# = Input("Gesucht / x:") test# = interpolate#(x,y,n,ges_x) Print test# Function interpolate#(x#[max], y#[max], n,ges_x#) fx# = 0.0 : l# = 1.0 For i = 0 To n Step 1 l = 1.0 For j = 0 To n Step 1 If j <> i Then l = l * ((ges_x - x[j])/(x[i]-x[j])) EndIf Next fx# = fx# + (l#*y[i]) Next Return fx# End Function MfG Coffee btw. das MAX dient nur Initialisierung und weil ja die übergebenen Arrays und die von der Funktion erwarteten Arrays gleich groß sein müssen... das Programm kommt auch > 15 klar... |
||
- Zuletzt bearbeitet von Coffee am Mi, Aug 13, 2008 0:42, insgesamt einmal bearbeitet
![]() |
Triton |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eine etwas bessere aufarbeitung wäre wohl schöner gewesen. Viel nützlicher für die meisten Coder ist außerdem eine direkte grafische Ausgabe oder auch eine Wertetabelle.
Zumindest aber wäre es besser gewesen, wenn alle Werte für die verschiedenen x aus- und zurückgegeben würden. |
||
Coding: silizium-net.de | Portfolio: Triton.ch.vu |
![]() |
Nova |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und was macht der Code nun? Eine Erklärung für Anfänger wäre nicht schlecht! ![]() |
||
AMD Athlon II 4x3,1GHz, 8GB Ram DDR3, ATI Radeon HD 6870, Win 7 64bit |
Coffee |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Gut, das Beispiel ist wenig hilfreich. Die Funktion dient dazu, eine Funktion zu interpolieren. Bzw eigentlich ermittelt sie einen Punkt auf einer Funktion, und zwar auf einer Funktion, auf der die übergebenen Punkte liegen. ges_x# ist die Stelle (Die x-Koordinate des gesuchten Punktes), zu dem der y-Wert zurückgegeben wird.
MfG |
||
*Mjam* |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group