|
|
"Manuelles glätten" mit for-Schleife schlechte Pe |
|
dant |
Forum-Newbie
|
|
Beiträge: 1
|
|
|
|
Anmeldedatum: 16.03.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.03.2018, 12:45
Titel: "Manuelles glätten" mit for-Schleife schlechte Pe
|
|
Liebe Community,
ich versuche eine relative alltägliche Funktion umzusetzen, die auf dem Code entsprechenden Weg zu funktionieren scheint. Allerdings ist die Umsetzung mit for-loop sehr sehr langsam. Bei der Konversion zum parfor-loop oder bei der Vektorisierung bin ich bislang gescheitert.
data ... Kurvenverlauf
interval ... es soll immer ein Intervall an Datenpunkten betrachtet werden. Der Mittelwert der Datenpunkte dieses Intervalls dient als neuer Wert für alle Datenpunkte innerhalb dieses Intervalls. Ein glatter Kurvenverlauf data_smooth soll entstehen.
Vermutlich steh ich einfach auf der langen Leitung und freue mich über einen Vorschlag. Danke schon mal
|
|
|
|
|
DerElch |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.03.2018, 13:26
Titel:
|
|
Zunächst ein paar allgemeine Dinge
Die Performance von for steht und fällt mit PreAllocation. Also zuerst ein großes nan-Array bauen und dann die jeweiligen Werte ersetzen.
Der mean Befehl ist sehr sehr langsam, mit sum und dann durch die Anzahl dividieren bist du schneller (zumindest in 2009b, 2017b habe ich es noch nicht getestet)
Anstatt mit dem i herumzubasteln danach einfach alle nan-Werte nachher löschen
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 17.03.2018, 17:52
Titel:
|
|
Hallo,
es gibt dafür den fertigen Befehl
movmean
, der um Welten schneller sein dürfte als die for-Schleife.
Grüße,
Harald
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|