Datum: 28.10.2008 12:24
Hallo! Ich habe ein kleines Problem mit meinem Matlab Programm, es zeigt mir andeutungsweise einen Sägezahn, wenn ich die harmonischen Schwingen gemäß der Fourierformel für fallende Sägezahmsignale anwende. hier mein Programm:
function [y,t] = fourier(ua,N,f,ap) T=1/f; y=0; y2=0; t=0:1/(f*f):T*ap; for n = 1:N y = y + [(2*ua / (pi)) * (1/n) * sin(2*pi*f*n*t)/n ]; end y2=(-2*ua .*rem(t,T) ./T) + ua; figure(1) plot(t,y) grid on xlabel('t in s') ylabel('A in V') title('\it{Fouriertransformierte}','FontSize',16) figure(2) plot(t,y2) grid on xlabel('t in s') ylabel('A in V') title('\it{Sägezahnsignal}','FontSize',16) |
Datum: 28.10.2008 13:36
Hab leider gerad kein Matlab da, kann mir also dein Ergebnis nicht anschaun. Aber da du ja meinst, dass er andeutungsweise einen Sägezahn anzeigt: hast du N groß genug gewählt?
Datum: 04.11.2008 13:58
Ja es ist leider kein richtiger Sägezahn, der ist an den stellen, wo er gerade nach oben gehen soll noch ein sinus zu erkennen und egal wie hoch ich die Fourier-Reihe berechne es ändert sich nichts daran : /
Datum: 04.11.2008 15:50
Du hast das Gibbssche Phänomen entdeckt: http://de.wikipedia.org/wiki/Gibbssches_Ph%C3%A4nomen
Datum: 10.11.2008 22:10
ah Fehler behoben hatte ein 1/n zuviel in der Funktion! Typischer Anfängerfehler : / Hier nochma die richtige Funktion, diesma hab ich die mit Vektoren berechnet, um die For-Schleife zu umgehen. Jedoch habe ich noch keine Idee, wie ich die einzelnen harmonischen Schwingungen ohne For-Schleife darstellen kann? Hat jmd eine Idee, am besten auch mit Vektor und Matrizenrechnung.
function [y,t] = fourier(ua,N,f,ap) T=1/f; w=2*pi*f; n=1:N; t=0:1/(f*f):T*ap; y=0; y2=0; y3=0; y = (2*ua / (pi)) * (1./n) * sin(w*n'*t); for n = 1:N y3 = y3 + [(2*ua / (pi)) * (1/n) * sin(2*pi*f*n*t)]; figure(3) plot(t,y3) grid on hold on xlabel('t in s') ylabel('A in V') title('\it{harmonische Sinusschwingungen}','FontSize',16) end y2=(-2*ua .*rem(t,T) ./T) + ua; figure(1) plot(t,y) grid on xlabel('t in s') ylabel('A in V') title('\it{Fouriertransformierte}','FontSize',16) figure(2) plot(t,y2) grid on xlabel('t in s') ylabel('A in V') title('\it{Sägezahnsignal}','FontSize',16) |
Antwort schreiben
Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
- Groß- und Kleinschreibung verwenden
- Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
- JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
- Schaltpläne, Screenshots usw. als PNG oder GIF anhängen
Formatierung (mehr Informationen...)
- [c]C-Code[/c]
- [avrasm]AVR-Assembler-Code[/avrasm]
- [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
- [math]Formel in LaTeX-Syntax[/math]
- [[Titel]] - Link zu Artikel


