Problem mit FourierTransform < Mathematica < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 12:56 Di 30.06.2009 | Autor: | PaRu |
Ich möchte die Fouriertransformierte von einer Funktion bilden und sie nach Betrag und Phase darstellen. Dazu habe ich ein Skript geschrieben (siehe Anhang) in dem ich zuerst an einem einfachen Beispiel (Gausskurve) das Ganze ausprobiere, bevor ich es auf die eigentliche Funktion anwende. Bei der Gausskurve funktioniert alles problemlos, doch leider bekomme ich bei der eigentlichen Funktion Fehlermeldungen, mit denen ich mal wieder nichts anfangen kann. Wenn ich die Funktion mit einem Sägezahn approximiere und ebenfalls die Fourriertransformierte bilde, rechnet Mathematica ewig, so dass ich es irgendwann abreche.
Kann mir jemand einen Tipp geben, wie ich die Fehlermeldung umgehen kann oder die Rechengenauigkeit von Mathematica herunterstellen kann, so dass die Berechnung der Näherung terminiert?
Gruß Patrick
Dateianhänge: Anhang Nr. 1 (Typ: nb) [nicht öffentlich]
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 14:50 Di 30.06.2009 | Autor: | Sigma |
Hallo,
versuch mal die ganzen Funktionen durch Variablen zu ersetzen.
Das Problem hier ist, das bei jedem Plotaufruf die Funktion FourierTransform neu aufgerufen und berechnet wird. Du kannst dir sicher vorstellen, das dies sehr rechenaufwendig ist.
Versuch es mal so. Dauerte bei mir keine Ewigkeit(ca. 2 Minuten).
[mm]a = \begin {cases}
0 & x\leq - \frac {\pi} {2} \\
\text {Cos}[x]^{16} & - \frac {\pi} {2} < x\leq 0 \\
\sqrt {\text {Sech}[x]} & 0 < x
\end {cases}[/mm]
[mm] ;\text [/mm] {Plot}[a [mm] (a)^*,\{x, -\pi, \pi\}]\\
[/mm]
z =FourierTransform[a, x, [mm] \omega]\\
[/mm]
Plot[z (z)^* , [mm] \{\omega, -\pi, \pi\}]\\
[/mm]
Plot[10*Log[10, z (z)^*], [mm] \{\omega, -\pi, \pi\}]\\
[/mm]
Plot[Arg[z], [mm] \{\omega, -\pi, \pi\}]
[/mm]
gruß sigma
|
|
|
|