ich soll mit Matlab ein Script zur Fourierreihenentwicklung schreiben.
Mein Problem ist, dass normalerweise bei größerer Laufzahl m die Annäherung an die Ursprungsfunktion besser wird. Bei mir ist es nicht so, weiß nicht genau wo der Fehler steckt. Wenn ich statt der unten aufgeführten absschnittsweisen definierten Fkt. einen Rechteckimpuls (square) nehme, sieht die Annäherung schon gut aus. Aber ich habe wiederrum das Problem mit der Annäherung.
function f = myfun(t)% periodische Funktion for k=1:length(t) if t(k)<=DeltaT
f(k)= sin(pi/DeltaT*dt*k);
elseif(DeltaT<t(k)) && t(k)<T
f(k)=1;
else
f(k)=0;
end end
Beim Durchlaufen ist mir aufgefallen, dass wenn der erste Wert der Funktion 0 ist, versucht meine Reihenentwicklung bis zur nächsten Funktion den Wert bei Null zu halten(in diesem Zeitintervall) und orientiert sich nicht an der tatsächlichen Funktion bei mir eine Sinusfunktion. Im 2. Teilabschnitt ist der Wert 1 und die Reihe strebt dann auch über das komplette Intervall dem Wert 1 zu....
Hoffe es kann mir einer helfen, weiß im Moment nicht so wirklich weiter
der Fehler ist in der Tat ziemlich tricky: Deine myfun-Funktion ist falsch! Sie geht davon aus, dass der Input t immer auf dem ganzen Gitter ist, daher ist das "t" im sin bei Dir "dt*k". Zum Einen müsste es "dt*(k-1)" sein, zum anderen aber ist dt hier nicht immer gleich diff(t) (sondern dt=diff(t0)!). Hier eine angepasste myfun, die richtig rechnet (und dann auch ein vernünftiges Ergebnis erziehlt).
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.