Verfasst am: 25.07.2014, 22:52
Titel: Vektor mit mehreren gleichen Werten interpolieren
Hallo ihr Matlabchecker
Ich habe folgendes Problem:
Ich habe aus einer Messung einen Vektor der, aufgrund von zu schneller Messfrequenz, immer wieder mehrere gleiche Werte hat.
Heißt: ich habe zb:
Code:
a=[555,555,555,555,554,553,552,552,552 und so weiter]
und diesen sollte ich jetzt glätten da das eigentlich eine fortlaufende Kurve sein sollte und ich jetzt nur Stufen sehe.
Probiert habe ichs mit
1) ainterp=interp1(fake_x_achse,a,xneu,'spline')
wobei fake_x_achse=1/length(a) und xneu=1:0.1:length(a) ist
2)spline(fake_x_achse,a,xneu)
aber egal was ich mache, die Stufen bleiben.
bei meiner "xneu" die ich für die interp1 brauche hab ich als schrittweite auch schon xneu=1:1/length(a):length(a) ausprobiert jedoch hab ich dann das problem, dass mein vektor zu lang wird. (MATLAB sagt "Too many Values")
Sicher, dass das wirklich notwendig ist? Wenn ein und derselbe Wert zwei mal hintereinander gemessen wird, dann ist er eben zwei mal hintereinander aufgetreten. Nachträglich die Messwerte so zu malen, wie man sie gerne hätte ist eigentlich nicht so die feine Art...
Wenn Deine Abtastrate zu hoch war und Du jetzt eine kleinere haben möchtest, kannst Du Dir mal decimation und downsample angucken. Bei decimation gehen Dir wegen der (durchaus sinnvollen) eingebauten Tiefpassfilterung allerdings vielleicht Informationen verloren, da schnelle Änderungen mit kleineren Abtastraten nicht mehr abgebildet werden können. Wenn Du downsample benutzt, siehst Du hinterher vielleicht Dinge, die da gar nicht waren (-> vgl. wikipedia-artikel zu aliasing).
Einstellungen und Berechtigungen
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.