|
Autor |
Polynom Regression |
|
Martin_Infinite
Senior  Dabei seit: 15.12.2002 Mitteilungen: 39133
Wohnort: Münster
 | Themenstart: 2003-04-16
|
Mit den x-Werten {x1,x2,x3...xn}und den zugehörigen y-Werten
{y1,y2,y3...yn}kann man ein Polynom f(x)=a0x0+a1x1+...+an-1xn-1
erzeugen mit f(xk)=yk , k={1,2,3...n}.
Die Koeffizienten kann man mit einem LGS und der
Cramer'schen Regel bestimmen:
ak=det(A bloß k-te Spalte mit den yk ersetzt)/det(A)
mit
A=(x_1^0,x_1^1,x_1^2,...,x_1^(n-1);x_2^0,x_2^1,x_1^2,...,x_2^(n-1);.,.,.,...,.;.,.,.,...,.;x_n^0,x_n^1,x_n^2,...,x_n^(n-1))
Nun mein Problem: Was ist,wenn einer der x-Werte Null ist?
Dann muss 00 berechnet werden, was jedoch nicht
erklärt ist! Wie kann man das hier vermeiden?
-----------------
[ Nachricht wurde editiert von Martin_Infinite am 2003-04-16 21:35 ]
|
Profil
|
viertel
Senior  Dabei seit: 04.03.2003 Mitteilungen: 27787
Wohnort: Hessen
 | Beitrag No.1, eingetragen 2003-04-16
|
Hi Martin,
da darf man getrost 1 für setzen. Man schreibt ja auch
ax^2+bx^1+cx^0=ax^2+bx+c
Und da ist x0=1, egal welchen Wert x hat, auch 0.
Gruß
Dietmar
|
Profil
|
Martin_Infinite
Senior  Dabei seit: 15.12.2002 Mitteilungen: 39133
Wohnort: Münster
 | Beitrag No.2, vom Themenstarter, eingetragen 2003-04-16
|
Muss ich mal ausprobieren.
|
Profil
|
murmelbaerchen
Senior  Dabei seit: 03.02.2003 Mitteilungen: 4294
 | Beitrag No.3, eingetragen 2003-04-16
|
Hi Martin, wenn ich dazu auch meinen Senf abgeben dürfte.
Du möchtest durch n-Punkte ein Polynom interpolieren.
Es gibt da mehrere Möglichkeiten und Du hast Dir da leider eine
sehr ineffiziente Methode ausgedacht. Warum?
Ganz einfach, man möchte ja durch n-Punktepaare eine Kurve legen
und nicht selten haben die Punktepaare eine Bedeutung (Messwerte etc.)
Jetzt hast Du in der Praxis gleich zwei Probleme:
1. Realistisch sind Punktepaare in der Grössenordnung (10^4-10^7)
je nach Praxisbezug. Nun überlege mal, was ein CAS für Probleme hat
eine Matrixgl. der Dimension 100x100 zu lösen.
2- Desweiteren bestimmt man auch die Lsg. eines LGS nicht mit der
der Cramerschen Regel (nicht Sarrus das ist nur die Regel für 3x3 Determinante) da ein Programm aufgrund der extrem schlechten Laufzeit dieses Algorithmus schon für n=40 in die Knie gezwungen wird.
3 Achso, noch ein Punkt das Verfahren ist auch nicht geeignet, falls noch Messwerte dazukommen sollten (sprich Punktepaare) dann müsstest DU noch mal alles neu rechnen.
Natürlich gibt es für Dein Problem genug Verfahren, die das numerisch günstig implementieren. Also wenn Du grössere Systeme lösen möchtest
kommst Du nicht umhin Dir ein anderes Verfahren näher anzuschauen.
Zum einen gibt es ein Interpolationsverfahren mit Lagrange Polynomen.
Oder Du schaust Dir das Verfahren der Newtoninterpolation mal an.
Das Verfahren ist günstig, weil Dein Interpolationspolynom um beliebige
Punktepaare erweitert werden kann.
Meistens ist es übrigens nicht nötig, ein konkretes Polynom zu bestimmen, weil man meist an dem Funktionswert des Polynoms an einer
bestimmten Stelle interessiert ist. (z.B. 0 bei der Rombergextrapolation)
Diesen rechnet man sehr gut mit dem Aitken-Neville-Schema aus.
Ich hoffe ich habe Dir da ein wenig geholfen, weil es da ganze Bücherregale zu Deinem "Problem" gibt.
Gruss Murmelbärchen
edit: Noch eine Anmerkung zum Wort Regression:
eine Regressionsgerade ist eine Gerade die nach der Methode der kleinsten Fehlerquadraten eine "AUSGLEICHSGERADE" durch n-Punkte legt.
Im allgemeinen spricht man bei deinem problem von Interpolation
im Gegensatz zur Approximation wo die Anzahl der Punktepaare im allgemeinen sehr viel grösser ist, als der Grad des approximierenden Polynoms
[ Nachricht wurde editiert von murmelbaerchen am 2003-04-16 18:23 ]
|
Profil
|
Martin_Infinite
Senior  Dabei seit: 15.12.2002 Mitteilungen: 39133
Wohnort: Münster
 | Beitrag No.4, vom Themenstarter, eingetragen 2003-04-16
|
Ok! Danke!
Es geht um ein kleines Programm ...was ab (10x10) Matrizen aufgibt ....
Das ist nicht weiter schlimm. Damit wollte ich auch keine Punktwolken mit einem Polynom annähern, sonder nwie gesagt, dass alle Punkte
auch wirklich drauf liegen.
|
Profil
|
viertel
Senior  Dabei seit: 04.03.2003 Mitteilungen: 27787
Wohnort: Hessen
 | Beitrag No.5, eingetragen 2003-04-16
|
Die Cramer'sche Regel ist auch mehr ein theoretisches Werkzeug.
In Deinem Fall, wo lediglich das LGS gelöst werden soll, würde ich einfach den Gauss drauf loslassen. Da der "inplace" rechnet (also auf dem Speicherplatz, den die Ausgangsdaten selbst verbrauchen), kommt der auch bei 10x10 oder 100x100 noch nicht ins Schleudern.
Dietmar
|
Profil
|
Martin_Infinite
Senior  Dabei seit: 15.12.2002 Mitteilungen: 39133
Wohnort: Münster
 | Beitrag No.6, vom Themenstarter, eingetragen 2003-04-16
|
Nur mal so - Es geht um den TI-83
Da gibt es eine Einheitsmatrix-Funktion, mit der man die Koeffizienten
sicherlich leichter berechnen lassen könnte. Aber das Programm war
mir zu instabil ... deswegen hatte ich die Idee mit der Regel.
Danke 1/4
-----------------
[ Nachricht wurde editiert von Martin_Infinite am 2003-04-16 21:34 ]
|
Profil
|
Das Thema wurde von einem Senior oder Moderator abgehakt. |
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|