12.07.2015 Aufrufe

Ausgleichs- und Interpolationsrechnung

Ausgleichs- und Interpolationsrechnung

Ausgleichs- und Interpolationsrechnung

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Hochschule für Technik <strong>und</strong> Architektur BernInformatik <strong>und</strong> angewandte Mathematik3-15<strong>Ausgleichs</strong>- <strong>und</strong> <strong>Interpolationsrechnung</strong>' Gleichungssystem G * a = c loesen mit Matrixinversion'g1 = Application.MInverse(G)'Koeffizientenmatrix G invertieren'For i = 1 To Polynomgrad + 1'Matrixmultiplikation a = G1 * c'a(i - 1) = 0For j = 1 To Polynomgrad + 1a(i - 1) = a(i - 1) + g1(i, j) * c(j)Next jNext iPolynomReg = a'Koeffizientenvektor a0,..,an retournieren'End Function' Auswerten einer Polynomfunktion n-ten Grades an der Stelle x' Die Polynomfunktion wird mit Koeffizentenarray a0,..,an definiert <strong>und</strong> an der Stelle' x ausgewertet <strong>und</strong> als Funktionswert retourniert.' Die Berechnung erfolgt mit dem Horner-Schema.'' Autor: Gerhard Krucker' Datum: 19.8.1995, 22. 9. 1996' Sprache: VBA for EXCEL7'Function PolynomEval(a, x As Double) As DoubleDim px' Polynomfunktionswert 'Dim Polynomgrad As Integer ' Grad des Polynomes, das die Koeffizienten in a darstellen 'Dim iPolynomgrad = a.Count - 1 ' Grad des Polynoms bestimmen = Anzahl Koeffizienten-1 'px = a(Polynomgrad + 1)For i = Polynomgrad To 1 Step -1px = px * x + a(i)Next iPolynomEval = px' Funktionswert retournieren 'End FunctionDamit haben wir jetzt zwei leistungsfähige Funktionen zur Verfügung, um die Aufgabe einfach zulösen.Wir fügen die Visual Basic Funktionen in unsere Arbeitsmappe ein <strong>und</strong> können nun unter"Einfügen/Funktion /Benutzerdefiniert" auf die Funktionen über den Funktionsassistenten zugreifen.Da die Funktion PolynomReg eine sog. Arrayfunktion ist, geht die Berechnung etwas andersvonstatten als bei 'normalen' EXCEL-Funktionen:In die Zelle B9 wird direkt oder mit Hilfe des Funktionsassistenten geschrieben:B9: =PolynomReg($B$4:$F$4;$B$5:$F$5;2)Die Eingabe wird normal abgeschlossen <strong>und</strong> wir erhalten in der Zelle B9 den Koeffizienten a 0. Nunwird das Feld für die Koeffizienten a 0,..,a ndurch Selektieren der Zellen B9: D9 aufgezogen. Dann wirddie Eingabezeile mit der Formel oberhalb des Arbeitsblattes angeklickt <strong>und</strong> die Zeile mit abgeschlossen. Die restlichen Koeffizienten werden jetzt in die markiertenFelder übertragen.Für das Polynom 3. Grades ist das Vorgehen analog.Die Berechnung des Graphen kann jetzt ausserordentlich einfach mit der Funktion PolynomEvalausgeführt werden.Ausgabe: 1996/98, G. Krucker

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!