sinus



  • @otze: oh man, ich glaube ich war blind, daß ich die buttons nicht gesehen habe...



  • Nimda schrieb:

    Kann mir jemand die Abschätzung über die Abweichung erklären? Am beispiel von Sinus(X) und e^X ?

    Wenn ich mich recht entsinne war der Fehler beim Abbruch der Sinusreihe nach dem n-ten Element kleiner als der Betrag des n+1-ten Elementes, da die Folgengleider alternierend und streng monoton fallend sind. Habe das Leibnitz-Kriterium aber nicht mehr 100%ig im Kopf.



  • Ja, ich glaub ich meine das Lagrangesche-Restglied. Ob es das "Lagrangesche" war weiß ich nicht mehr, aber es war ein Restglied. So blöd sich das jetzt auch anhört.

    Kann mir das einer erklären? Bitte!



  • Also, das Ding ist alternierend. Das bedeutet aufeinander folgende Reihenglieder haben unterschiedliche Vorzeichen. Nun ist aber jedes Glied kleiner als sein vorangehendes.

    z.B. 1214+18116=516<12\frac{1}{2}-\frac{1}{4}+\frac{1}{8}-\frac{1}{16}=\frac{5}{16}<\frac{1}{2}



  • @MaSTaH: War das als Antwort auf meine Frage gedacht? Wenn ja, verstehe ich es nicht.



  • Google doch mal nach Leibnitz-Kriterium, dann weißt du worauf ich hinaus will. Das oben war ein Beispiel und hat nichts mit dem Sinus zu tun.



  • ...und was hat das Leibnitzkriterium mit dem Lagrangeschen Restglied zu tun ??
    es stimmt, daß für die Darstellung einer Funktin als Taylorreihe das Lagrange Restglied gegen 0 konvergiert und daß das Leibnitz-Kriterium besagt, daß jede unendliche Reihe in |R konvergiert, wenn deren Koeffizient alternierend und die Folge eine monoton fallende Nullfolge ist. Was hilft mir das denn zum Verständnis des Restgliedes?
    edit: gebe ja zu, daß ich die Erklärung auch nicht ad hoc hinkriege [*schähm]



  • freshman schrieb:

    Was hilft mir das denn zum Verständnis des Restgliedes?

    Bei uns wurde das mit in die Definition des Kriteriums gepackt, wie man den Abbruchfehler abschätzen kann. Kenne das nur in dem Zusammenhang und nicht als Lagrage'sches Restglied.



  • ALSO: Ich hab mal in einem Mathebuch(Kleine Enzyklopädie Mathematik) nachgeschlagen:
    Für das Intervall x0 bis x0+h :
    a) die Restform von Lagrange: es gibt stets wenigstens eine Zahl θ zwischen Null und Eins, 0<θ<1, für die R_n=hn+1(n+1)!f(n+1)(X_0+hθ)R\_n=\frac{h^{n+1}}{(n+1)!}f^{(n+1)}(X\_0+h\theta)

    b) die Restform von Cauchy: es gibt stets wenigstens eine Zahl θ zwischen Null und Eins, 0<θ<1, für die R_n=hn+1n!(1θ)nf(n+1)(X_0+hθ)R\_n=\frac{h^{n+1}}{n!}(1-\theta)^{n}f^{(n+1)}(X\_0+h\theta)

    Hoffentlich weiß Latex, was ich von ihm möchte... edit.: Nein, weis es nicht!

    Als Beispiel beim Sinus, um zu sehen, ob ich das richtig verstehe:
    Wenn ich jetzt bis zur 6. Ableitung rechne, ist der Rest(nach Lagrange) im Intervall 0≤X≤π/2:
    R6=(π2)7(7)!f(7)(0+(π2)θ)R_6=\frac{(\frac{\pi}{2})^{7}}{(7)!}f^{(7)}(0+(\frac{\pi}{2})\theta)

    Weiter ausgerechnet:
    0.004681754135cos((π2)θ)0.004681754135*-cos((\frac{\pi}{2})\theta)

    Das leite ich jetzt nach θ ab, setzte es gleich 0 und ermittle damit die lokalen Maxima, bzw. Minima. Daraus kann ich dann die maximale Abweichung in dem Intervall 0≤θ≤1 berechnen. Hier wäre das für θ=0 ein maximaler Fehler von 0.004681754135 Richtig?

    Wenn nicht, wo ist mein Fehler?
    Und was hat die Formel von Cauchy besonderes, außer, dass man bei ihr viel schwerer die Maxima und Minima berechnen kann?





  • Ich hab mal eine Frage.

    Ich habe mit dieser Formel ein Programm erstellt, welches die Sinuswerte mithilfe der Formeln berechnet.

    Leider muss sich irgendwo ein Fehler eingeschlichen haben.
    Wäre jemand so nett, sich das anzusehen ?

    /* 
    Manuelle Sinusberechnung
    Sinuswerte werden so berechnet :
    
    sin(x) =0 + (x^1/1!) - (x^3/3!) + (x^5/5!) - (x^7/7!) ...
    
    wobei x! bedeutet 1*2*3...*x 
    5! bedeutet also 1*2*3*4*5 = 120
    
    je mehr Iterationen man durchführt, desto genauer ist der Wert 
    
    die neueste iteration wird abwechselnd von den vorhergehenden abgezogen oder addiert. zuerst wird addiert
    */
    
    #include <iostream> 
    
    int nennersuchen(int) ;
    float sinusberechnen(int,int);
    
    using namespace std;
    
    int main()
    {
    cout<<sinusberechnen(10,10);
    cin.get();
    cin.get();
    }
    
    int nennersuchen(int zahl)                            //den Nenner suchen, der in die sinusberechnung eingesetzt wird
    {
        int a = 1 ;
        for (int b=0 ; b<=zahl ; b=b+1)
           {
                a = a*b;
                if ( a< 1)
                a = 1;
           }
       return a;
    }
    
    float sinusberechnen(int zahl,int genauigkeit) // die Zahl, für den der Sinuswert berechnet wird, und die Anzahl der Iterationen
    {
        int hochzahl = 1;
        int nenner = 1;                              
        float sinus;                                 //in sinus wird der gesamte wert des bisherigen durchlaufs gespeichert
        float zwischenspeicher;                      //im zwischenspeicher wird der wert des aktuellen durchkaufs gespeichert
        bool op = true  ;                             //steht für operator.Jede nächste iteration wird abwechselnd von den vorherigen subtrahiert,oder addiert; True = + ; False = -
        for (int a=1 ; a<=genauigkeit ; a=a+1)       //die Iteration wird sooft durchgeführt, bis die genauigkeit erreicht ist
        {
            zwischenspeicher  = (zahl^hochzahl)/nennersuchen(nenner) ;
    
            hochzahl = hochzahl +2 ;                //jede iteration steigen Nenner und Hochzahl um 2
            nenner = nenner +2 ; 
            if (op = true) 
            {
                    sinus = sinus + zwischenspeicher ; 
                    op = false ; 
            } 
            else 
             {
                    sinus = sinus - zwischenspeicher ;   
                    op = true ; 
                    }        
        }
        return sinus;
    }
    


  • Ich glaube, du hast etwas vergessen/nicht gewusst:
    Die Taylor-Polynome konvergieren nur um 0 gut. Je weiter du von 0 weg bist, desto ungenauer werden sie. Man berechnet deshalb grundsätzlich nur den Sinus im Bereich 0 bis Pi/2. Den Rest errechnest du daraus. Hier mal kurz und ohne Garantie etwas Pseudocode:
    Funktion Sinus(Gleitkommazahl 😵
    X = (X modulo 2*Pi) //das bewirkt, dass dein X immer im Bereich 0 bis 2*Pi ist.
    Wenn X größer als Pi ist, Berechne Ergebnis = - Sinus(X - Pi). //Damit musst du dich nurnoch um Werte im Bereich 0 bis Pi kümmern.
    Wenn X größer als Pi/2 ist, Berechne X = (Pi - 😵 //Damit hast du den endgültigen Bereich 0 bis Pi/2.

    Und erst hier, kannst du mit der Taylorreihe die eigentliche Berechnung beginnen.
    Diesen unschönen rekursiven Funktionsaufruf dort oben kann man auch umgehen, aber dazu bin ich zu müde!

    Es ist jetzt 1 Uhr 15. Ich bin todmüde und wollte eigentlich schon vor 2 Stunden im Bett liegen. Ich bin also nicht verantwortlich für Fehler! 🤡



  • Taylor linearisiert im Bereich der Entwicklungsstelle.



  • b7f7 schrieb:

    Taylor linearisiert im Bereich der Entwicklungsstelle.

    Aber auch nur, wenn man nach dem ersten Glied abbricht 🙄



  • Hi,

    wie kommt man eigentlich auf die Summendarstellung des Sinus?

    MfG Eisflamme







  • Ich versuch mal die Herleitung verständlich zu machen:
    Man versucht, den Sinus als Polynom darzustellen. Dazu setzt man die die Funktion am Nullpunkt mit dem Polynom gleich. Dazu kommen jetzt die erste, zweite, dritte, ... nte Ableitung, die ebenfalls an dem Punkt gleichgesetzt werden. Da die Ableitungen eines Polynoms 4. Grades folgendes ist:
    x0=1,x^0=1, nur zur Erinnerung!
    Hier die Ableitungen:
    f(x)=a\_4\*x^4+a\_3\*x^3+a\_2\*x^2+a\_1\*x^1+a_0*x^0
    f'(x)=4\*a\_4\*x^3+3\*a\_3\*x^2+2\*a\_2\*x^1+1\*a\_1\*x^0
    f''(x)=3\*4\*a\_4\*x^2+2\*3\*a\_3\*x^1+1\*2\*a_2*x^0
    f'''(x)=2\*3\*4\*a\_4\*x^1+1\*2\*3\*a\_3\*x^0
    f''''(x)=1\*2\*3\*4\*a_4*x^0
    Diese fünf Gleichungen können nun ein Gleichungssystem bilden. Zuerst setzt man x=0. Mann kann auch jeden anderen Punkt nehmen, aber dann wird es schwieriger! Und: die Tayloreihe wird um so ungenauer, je weiter X von dem gewähltem Punkt entfernt ist! Weiter: f(x)=sin(x), als Beispiel:
    f(x)=sin(x)f(x)=sin(x)
    f(x)=cos(x)f'(x)=cos(x)
    f(x)=sin(x)f''(x)=-sin(x)
    f(x)=cos(x)f'''(x)=-cos(x)
    f(x)=sin(x)f''''(x)=sin(x)
    nun noch x=0 setzten, da es um den Punkt 0 geht:
    f(0)=sin(0)=0f(0)=sin(0)=0
    f(0)=cos(0)=1f'(0)=cos(0)=1
    f(0)=sin(0)=0f''(0)=-sin(0)=0
    f(0)=cos(0)=1f'''(0)=-cos(0)=-1
    f(0)=sin(0)=0f''''(0)=sin(0)=0
    Von oben wissen wir noch, entsprechend mit x=0:
    0=a\_4\*0^4+a\_3\*0^3+a\_2\*0^2+a\_1\*0^1+a_0*0^0
    1=4\*a\_4\*0^3+3\*a\_3\*0^2+2\*a\_2\*0^1+1\*a\_1\*0^0
    0=3\*4\*a\_4\*0^2+2\*3\*a\_3\*0^1+1\*2\*a_2*0^0
    -1=2\*3\*4\*a\_4\*0^1+1\*2\*3\*a\_3\*0^0
    0=1\*2\*3\*4\*a_4*0^0
    Ich hab gleich f(x) mit den ermittelten Werten ersetzt.
    WICHTIG:01=0,02=0,03=00^1=0, 0^2=0, 0^3=0ABER:00=10^0=1(!)
    Dieses Gleichungssystem nun auflösen:
    a4=0a_4=0
    a3=16a_3=\frac{-1}{6}
    a2=0a_2=0
    a1=11a_1=\frac{1}{1}
    a0=0a_0=0
    Wenn wir diese Werte nun in unsere (Polynom-)Funktion einsetzten folgt daraus:
    a\_4\*x^4+a\_3\*x^3+a\_2\*x^2+a\_1\*x^1+a_0*x^0
    \frac{0}{24}\*x^4+\frac{-1}{6}\*x^3+\frac{0}{2}\*x^2+\frac{1}{1}\*x^1+\frac{0}{1}*x^0
    oder kurz:
    -\frac{1}{6}\*x^3+\frac{1}{1}\*x^1

    Wenn man ein Polynom unendlichen Grades benutzt folgt daraus die Taylorreihe. Auf diese Weise, kann man ALLE(!) Funktionen als Taylorreihe darstellen. Beim Logarithmus wird es umständlich, da er für x=0 nicht definiert ist, aber es geht auch. Man muss halt ein anderes x wählen(üblicherweise 1).

    Zu sagen gibt es noch, dass man eine allgemeine Formel für die Taylorreihe herleiten kann:

    Taylor(x)= \frac{f(0)\*x^0}{0!} + \frac{f(0)\*x^1}{1!} + \frac{f(0)\*x^2}{2!} + \frac{f(0)\*x^3}{3!} + ... + \frac{f(0)*x^n}{n!}

    Ist klar wie man darauf kommt? Wenn man unser Polynom von oben Ableitet, so steht vor ana_n allgemein der Faktor n! . Diesen setzt man mit der n'ten Ableitung von f(x) gleich. Jetzt lös diese Gleichung nach ana_n auf, und schon verstehst du es:
    fn(x)=n!anf^n(x)=n!*a_n
    =>fn(x)n!=an\frac{f^n(x)}{n!}=a_n
    Jetzt ersetzt man ana_n und die anderen a's in unserem Polynom, (diesmal hab ich es genau andersrum hingeschrieben(von links nach rechts statt von rechts nach links)):
    Taylor(x)= a\_0\*x^0 + a\_1\*x^1 + a\_2\*x^2 + a\_3\*x^3 + ... + a_n*x^n

    und schon hat man den Term der Taylorreihe!

    Noch Fragen? Dann lass ich diesen Post erstmal so.

    Folgendes einfach ignorieren, ist nur für mein Ego:
    Ich hab das alles ohne Nachschlagen aus dem Kopf gewusst, obwohl ich es im zweitem Halbjahr der 13 Klasse(1 Monat vorm Abi, nicht Abi-relevant) im Unterricht hatte(nur eine Stunde, ein Reverat bei dem niemand aufgepasst hat) und seitdem nicht wieder brauchte! Das soll mir erstmal einer nachmachen!

    Jetzt hab ich Cold-Case verpasst. 😡 Daran seid nur ihr schuld!!!! 😉

    P.S.: Dieser Post sollte in eine Mathe-FAQ! 😉
    Gibt es überhaupt ein Mathe-FAQ?



  • Nimda schrieb:

    Und: die Tayloreihe wird um so ungenauer, je weiter X von dem gewähltem Punkt entfernt ist!

    Du verwechselst Taylorreihe und Taylorpolynom, das Taylorpolynom vom Grad n ist die nach dem n-ten Glied abgebrochene Taylorreihe. Für die Taylorreihe gilt
    f(x)=n=0f(n)(x_0)n!(xx_0)nf(x) = \sum _{n=0} ^{\infty} \frac {f^{(n)}(x\_0)} {n!} (x-x\_0)^n

    Nimda schrieb:

    Auf diese Weise, kann man ALLE(!) Funktionen als Taylorreihe darstellen.

    Nein, es müssen bestimmte Voraussetzungen erfüllt sein. Willst du z.B. eine Fkt. f, f:I->IR, als Taylorreihe darstellen, muß gelten:
    fC(I)f \in C^\infty(I), d.h. f muß auf dem Intervall unendlich oft diff'bar sein!
    (Gegenbsp.: f(x) = abs(x))

    Nimda schrieb:

    Gibt es überhaupt ein Mathe-FAQ?

    Ja, gibst es sogar, stehen aber IMHO noch nicht viele Beiträge drin.

    Ansonsten ist dein Beitrag 👍

    Könntest sowas ja auch mal für die Partialbruchzerlegung machen, das würde auch gut in die FAQ passen!



  • Hi,

    ganz verstanden habe ich es noch nicht.
    Wie kommt man z.B. auf die Fakultät da? Das verstehe ich nicht.
    Allerdings bin ich auch mit den Ableitungsregeln noch nicht ganz vertraut, bisher kenn ich eigentlich nur:
    f(x) = a^x + b^x
    f'(x)= x*a^(x-1) + x*b^(x-1)

    Ich habe es aber im Groben schon verstanden und die Vorgehensweise vor allem auch. 🙂

    MfG Eisflamme


Anmelden zum Antworten