| Polynomdivision TI 84-Plus < Taschenrechner < Mathe-Software < Mathe < Vorhilfe 
 
 
  |  |  
  | 
    
     |  | Status: | (Frage) beantwortet   |   | Datum: | 21:15 Mi 07.12.2011 |   | Autor: | Jabor | 
 Hallo,
 ich habe in letzter Zeit mal ein wenig auf meinem TI-84 Plus programmiert und habe dabei auch Mal ein wenig aus dem Matheunterricht einfließen lassen... Nun habe ich mich daran versucht, die Polynomdivision zu programmieren. Dabei habe ich eine Weile herumexperimentiert und bin im Internet auf folgendes gestoßen:
 Bei [mm] 0=Ax^{5}+Bx^{4}+Cx^{3}+Dx^{2}+Ex+F
 [/mm]
 kann man den nächstniedrigeren Grad erreichen, indem man
 (B+AN)=B
 (C+BN)=C
 (D+CN)=D
 (E+DN)=E
 (F+DN)=F
 setzt.
 Anschließend hat man ensprechend
 [mm] 0=Ax^{4}+Bx^{3}+Cx^{2}+Dx+E [/mm] und F als Rest.
 Nun will ich das ganze allerdings mit Zwischenschritten darstellen, hatte dabei allerdings ein wenig Probleme...
 Hat jmd. schonmal etwas ähnliches probiert/hat es sogar noch(und könnte es erklären...)?
 Ich habe vorher schon einiges im Internet herausgesucht, bin allerdings nicht weiter fündig geworden.
 Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
 Danke im Vorraus,
 Jabor
 
 
 |  |  |  | 
 
  |  |  
  | 
    
     | 
 > Hallo,
 >  ich habe in letzter Zeit mal ein wenig auf meinem TI-84
 > Plus programmiert und habe dabei auch Mal ein wenig aus dem
 > Matheunterricht einfließen lassen... Nun habe ich mich
 > daran versucht, die Polynomdivision zu programmieren. Dabei
 > habe ich eine Weile herumexperimentiert und bin im Internet
 > auf folgendes gestoßen:
 >  Bei [mm]0=Ax^{5}+Bx^{4}+Cx^{3}+Dx^{2}+Ex+F[/mm]
 >  kann man den nächstniedrigeren Grad erreichen, indem man
 >  (B+AN)=B
 >  (C+BN)=C
 >  (D+CN)=D
 >  (E+DN)=E
 >  (F+DN)=F
 ![[notok] [notok]](/images/smileys/notok.gif)  
 Diese Formeln sollte man statt mit Gleichheitszeichen mit
 einem Pfeil schreiben, also etwa  $\ B+A*N\ [mm] \to\ [/mm] B$ , denn es
 handelt sich ja gar nicht um Gleichungen, sondern um
 Zuweisungen.
 
 >  setzt.
 >  Anschließend hat man entsprechend
 >  [mm]0=Ax^{4}+Bx^{3}+Cx^{2}+Dx+E[/mm] und F als Rest.
 
 Sinnvollerweise solltest du für die neuen Koeffizienten auch
 neue Bezeichnungen benützen !
 
 >  Nun will ich das ganze allerdings mit Zwischenschritten
 > darstellen, hatte dabei allerdings ein wenig Probleme...
 
 
 Hallo  Jabor,
 
 es handelt sich dabei um das
 ![[]](/images/popup.gif) Verfahren von Horner oder "Hornerschema". Wenn du dies programmieren willst, wäre es
 sinnvoll, das so zu machen, dass es für einen beliebigen Grad n
 [mm] (n\in\IN) [/mm] des Polynoms brauchbar ist. Dazu könntest du das
 Ausgangspolynom als eine Liste  $\ a\ =\ [mm] \{\,a_n\,,\,a_{n-1}\,,\,...\,a_1\,,\,a_0\,\}$
 [/mm]
 eingeben. Die schon bekannte Nullstelle (ich nehme an, dass
 du das Verfahren in erster Linie zum Zweck der Lösung von
 Polynomgleichungen brauchst) sei [mm] x_0 [/mm] . Dann suchen wir also
 die Lösung der Division
 
 $\ [mm] (\,a_n*x^n\,+\,a_{n-1}*x^{n-1}*\,...\,*a_1*x*\,a_0\,)\ [/mm] :\ [mm] (x-x_0)$
 [/mm]
 
 Das Ergebnispolynom wird ebenfalls durch eine Liste beschrieben:
 
 $\ b\ =\ [mm] \{\,b_{n-1}\,,\,b_{n-2}\,,\,...\,b_1\,,\,b_0\,\}$
 [/mm]
 
 und ein allfälliger Rest mit r (falls [mm] x_0 [/mm] wirklich eine Nullstelle
 war, müsste der gleich 0 sein).
 Dann berechnet man die Koeffizienten [mm] b_k [/mm] nach den Formeln:
 
 [mm] b_n:=0 [/mm]   (das braucht man nur für den Start der Rekursion
 und führt es nachher in der Liste gar nicht auf !)
 
 [mm] b_k:=a_{k+1}+x_0*b_{k+1} [/mm]  für  $\ [mm] k\in\{n-1,n-2,\,.....\,1,0\}$
 [/mm]
 
 und der Rest ist
 
 $\ [mm] r:=a_0+x_0*b_0$
 [/mm]
 
 Das Ganze lässt sich in einer FOR-Schleife programmieren.
 Für das Programm wäre nun wichtig zu wissen, ob du ein
 eigentliches Programm (mit Eingabeaufforderungen und
 schrittweiser Darstellung) oder eine Funktion erstellen willst,
 die auf Eingabe der Liste a die Liste b und den Rest r liefert.
 Da ich keinen TI84 mehr habe, kann ich bei den Details
 wohl nicht genau auf dieses Rechnermodell eingehen.
 
 Das soll vorläufig mal genügen.
 
 LG    Al-Chw.
 
 
 
 
 
 
 
 
 
 
 
 |  |  | 
 |  | 
 
  |  |  
  | 
    
     |  | Status: | (Frage) beantwortet   |   | Datum: | 18:49 Do 08.12.2011 |   | Autor: | Jabor | 
 Danke erstmal für die Korrekturen.
 Die Nullstellenbestimmung über das Horner-Schema ist mir bekannt(Wie ja auch im Starpost beschrieben), allerdings ist meine eigentliche Frage die nach einem Algorithmus, der die Polynomdivision selbst nutzt und damit auch die passenden Zwischenergebnisse(Gibt es dafür einen Fachterminus? Ich meine die Zahlen, die beim Rechnen unter dem Startterm aufgeschrieben werden.) liefert. Wenn ich mich im Startpost missverständlich ausgedrückt habe, so tut mir das leid.
 
 
 |  |  | 
 |  | 
 
  |  |  
  | 
    
     | Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
 
 > Danke erstmal für die Korrekturen.
 >  Die Nullstellenbestimmung über das Horner-Schema ist mir
 > bekannt(Wie ja auch im Starpost beschrieben), allerdings
 > ist meine eigentliche Frage die nach einem Algorithmus, der
 > die Polynomdivision selbst nutzt und damit auch die
 > passenden Zwischenergebnisse(Gibt es dafür einen
 > Fachterminus? Ich meine die Zahlen, die beim Rechnen unter
 > dem Startterm aufgeschrieben werden.) liefert. Wenn ich
 > mich im Startpost missverständlich ausgedrückt habe, so
 > tut mir das leid.
 
 
 Guten Abend Jabor,
 
 in den angegebenen Formeln steckt natürlich schon der
 Algorithmus !
 Wenn du alle Zahlen des Hornerschemas anzeigen lassen
 willst, etwa in der Form:
 
 2\qquad $\begin{tabular}{c c c c c c c}
 1&2 &-4 & -3 & -8&3 \\
 0 &2&8 & 8&10&4\\
 \\ \hline
 1 &4&4&5&2\ |&7\\
 \end{tabular}$
 
 so könntest du folgende Bezeichnungen einführen:
 
 
 x_0\qquad $\begin{tabular}{c c c c c c}
 a_n & a_{n-1} & a_{n-2} & .....&a_1&a_0 \\
 & b_{n-1} & b_{n-2} & .....&b_1&b_0 \\
 \\ \hline
 e_{n-1} & e_{n-2} & e_{n-3} & .....&e_0\ |&r\\
 \end{tabular}$
 
 Die Werte a_k der obersten Zeile und der Wert x_0
 der schon bekannten Nullstelle gehören zu den Input-
 werten.
 Das Ergebnispolynom (unter dem Strich) hat die
 Koeffizienten e_k . Die Koeffizienten der mittleren
 Zeile habe ich mal mit b_k bezeichnet.
 Um in allen Spalten des Schemas jeweils denselben
 Index zu haben, könnte man das Schema zunächst
 so notieren:
 
 x_0\qquad $\begin{tabular}{c c c c c c}
 a_n & a_{n-1} & a_{n-2} & .....&a_1&a_0 \\
 & b_{n-1} & b_{n-2} & .....&b_1&b_0 \\
 \\ \hline
 c_n&c_{n-1} & c_{n-2}  & .....&c_1&c_0\\
 \end{tabular}$
 
 Damit hat man den Algorithmus:
 
 a_n\to c_n$
 (und eventuell  0\to b_n)
 
 $\ For\ k,n-1,0,-1$
 c_{k+1}*x_0\to b_k
 a_k+b_k\to c_k
 $\ EndFor$
 
 Die damit berechneten Werte kann man dann in
 geordneter Form als Output darstellen lassen,
 also die drei Zeilen der a_k , b_k , c_k .
 
 Wenn die Ergebnisse weiter verwendet werden
 sollen, etwa für eine weitere Polynomdivision,
 falls der Rest r=c_0 gleich 0 war, sollte man dann
 natürlich das Ergebnispolynom e definieren durch
 
 $\ For\ k,1,n$
 $\ c_{k}\to  e_{k-1}}$
 $\ EndFor$
 
 LG    Al-Chw.
 
 
 
 
 
 
 
 
 |  |  | 
 
 
 |