Programme für die einfache Erzeugung von Fourierreihen für TI-Taschenrechner ============================================================================ Autor: Philipp Burch Mail: philipp_burch@bluemail.ch Datum: 03.02.2010 Einleitung ---------- Taylorreihen lassen sich auf TI-Taschenrechnern sehr einfach mit dem taylor()-Befehl entwickeln. Doch für Fourierreihen fehlt eine solche Funktion. Die hier vorgestellten Programme lassen eine ebenso einfache Erzeugung von Fourierreihen mit nur einem Funktionsaufruf zu. Installation ------------ Die Funktionen sind in TI-BASIC geschrieben und sollten daher auf allen aktuellen Modellen von TI lauffähig sein. Die Installation unterscheidet sich jedoch wesentlich zwischen den älteren 68k-Modellen (TI-89 (T), V200, TI-92+) und der neuen nspire-Reihe. 68k-Modelle: Benötigt wird hier ein passendes Verbindungskabel zum PC, sowie eine Software zur Übertragung von Variablen. Dazu eignet sich z.B. TI-Connect von Texas Instruments (http://education.ti.com) oder TILP II (http://lpg.ticalc.org/prj_tilp/). Zur Installation ist es ausreichend, die Variablen fourier.89f und fcoeff.89f auf den Rechner zu übertragen. Sinnvollerweise überträgt man die Variablen in den aktuellen Ordner des Rechners (normalerweise MAIN), damit man immer direkten Zugriff darauf hat. nspire-Modelle: Für die nspire-Modelle wird ein USB-Verbindungskabel, sowie die Software "TI-Nspire™ Computer Link Software" von Texas Instruments benötigt (http://education.ti.com). Nun kann die Datei fourier.tns in den MyLib-Ordner des TIs übertragen werden. Um die darin enthaltenen Funktionen verwenden zu können, ist als Erstes eine Aktualisierung der Bibliotheken erforderlich: [ctrl]+[HOME] -> Refresh libraries Anschliessend sollte im [catalog] in der letzten Registerkarte die Bibliothek "fourier" mit den Variablen "fourier" und "fcoeff" vorhanden sein. Um nun nicht dauernd fourier\fourier(...) eingeben zu müssen, bietet es sich an, einen Shortcut dafür zu erzeugen: Dazu drückt man im Hauptbildschirm auf [menu] wählt "Actions" -> "Library" -> "Create Library Shortcut" und gibt anschliessend "fourier","ff" ein. Die Eingabezeile sollte dann wie folgt aussehen: libShortcut("fourier","ff") Nach [enter] sollte "{ff.fcoeff,ff.fourier}" angezeigt werden. Jetzt können die Funktionen mittels ff.fcoeff(...), bzw. ff.fourier(...) aufgerufen werden. Verwendung ---------- In den Dateien sind zwei Funktionen enthalten: 1. fcoeff(...) zum Berechnen der Fourierkoeffizienten 2. fourier(...) zum Entwickeln der Fourierreihe fcoeff(fcts,var,lower,uppers) fourier(fcts,var,lower,uppers,order) fcts: Eine Liste mit den Funktionen, die den Kurvenverlauf beschreiben. var: Die unabhängige Variable, z.B. 'x'. lower: Die Untergrenze der ersten beschreibenden Funktion. uppers: Eine Liste mit den jeweiligen Obergrenzen der beschreibenden Funktionen. Diese Liste muss dieselben Dimensionen wie "fcts" aufweisen. order: Der Grad der Entwicklung. Rückgabe: fcoeff(...) gibt die Variablen a0, an, bn und w0 (Omega 0) zurück. Diese Funktion wird intern auch von fourier(...) aufgerufen und wird normalerweise nicht explizit benötigt. fourier(...) gibt die fertige Fourierreihe bis zum Grad "order" zurück. Beispiele --------- 1. Gegeben sei die Sägezahnkurve mit der Funktion y=x im Bereich von 0 bis 1 mit der Periode T=1. Gesucht ist die Fourierreihe fünften Grades. Aufruf: fourier(x,x,0,1,5) 2. Gegeben sei die symmetrische Dreieckskurve mit den Steigungen 1 und -1 mit den Wendepunkten bei x=1 und x=2. Gesucht ist die Fourierreihe achten Grades. Aufruf: fourier({x,2-x},x,0,{1,2},8) 3. Gegeben sei die Dreieckskurve aus Beispiel 2. Gesucht sind die Koeffizienten a0, an, bn, sowie die Kreisfrequenz w0. Aufruf: fcoeff({x,2-x},x,0,{1,2}) Ergebnis: a0=1 an=(2*(-1)^n)/(n^2*pi^2)-2/(n^2*pi^2) bn=0 w0=pi Hinweise -------- 1. Das Programm verwendet intern exakt die Formeln der Formelsammlung, basiert also auf Integralen. Daher sind die Ergebnisse nur korrekt, wenn der Rechner auf Radians (RAD) eingestellt ist. 2. Auf den 68k-Rechnern können die Berechnungen bei komplexeren Funktionen durchaus 10 bis 20 Sekunden dauern. Sollte aus irgendwelchen Gründen eine Endlosschleife produziert werden, kann die Berechnung jederzeit mit [ON] abgebrochen werden. 3. 68k: Wer sich den Code anschauen will, kann dies im "Program Editor" tun. Falls Änderungen vorgenommen werden sollen, muss die Variable jedoch zuerst "entarchiviert" werden (VAR-LINK). nspire: Im nspire muss erst die Bibliothek "fourier" geöffnet werden. Anschliessend kann der Code im "Program Editor" ([menu] -> "Functions & Programs" -> "Program Editor" -> "Open") betrachtet werden. Für Änderungen ist es auch hier vonnöten, die Variablen erst mittels [menu] -> "Actions" -> "Lock" -> "Unlock Variable" zu entsperren. 4. Der Code wurde mit einigen Beispielen aus der Formelsammlung getestet. Dennnoch ist es nicht auszuschliessen, dass er noch Fehler enthält. Eine gute Überprüfung bietet jeweils die grafische Darstellung mit dem Funktionsplotter. Dazu sollte der Funktionsgrad allerdings nicht zu hoch (z.B. <10) gewählt werden, da der Zeichenvorgang sonst sehr lange dauert. 5. Wenn die Kurve nur aus einer Funktion besteht (Wie in Beispiel 1), dann kann die Funktion auch ohne Listenklammern ({}) übergeben werden. Wichtig ist jedoch, dass "fcts" und "uppers" immer das Selbe Format aufweisen!