running mean of circular data (angles)

36 visualizaciones (últimos 30 días)
Jakob Sievers
Jakob Sievers el 5 de Oct. de 2011
Comentada: Walter Roberson el 7 de Mayo de 2020
Hi there
Im trying to do a running mean of a quite large wind-direction data-set but I'm having trouble finding solutions that work. Does anyone know of a simple solution?
Thanks in advance

Respuesta aceptada

Mark Brandon
Mark Brandon el 5 de Oct. de 2011
You could look at the excellent "Circular Statistics Toolbox"
  5 comentarios
Ana Soph
Ana Soph el 6 de Mayo de 2020
  1. how can i use mean angle?
  2. M = xlsread('Dic2019','Dic2019mat')
  3. ten_minute_avarege = meanangle(reshape(M, 10, []), 'omitnan')
  4. xlswrite('datosexcel1.xlsx', ten_minute_avarege, 'Hoja1', 'A1');
Walter Roberson
Walter Roberson el 7 de Mayo de 2020
I am not aware of any meanangle() function that has 'omitnan' as an option.

Iniciar sesión para comentar.

Más respuestas (2)

David Young
David Young el 5 de Oct. de 2011
Have a look at
doc unwrap

Jakob Sievers
Jakob Sievers el 5 de Oct. de 2011
The Circular Statistics Toolbox doesnt appear to have a running mean function though. I have used its circ_mean function to make my own running mean but it takes hours to complete its calculation due to the size of the dataset (basically a long vector containing 10 million points).
Does anyone have any other suggestions?
  4 comentarios
David Young
David Young el 5 de Oct. de 2011
Note that unwrap assumes your angles are in radians. If you're using degrees (and from the 360 in your code I think you are), multiply your data by pi/180 before using unwrap. You can convert back afterwards if necessary by multiplying by 180/pi.
Also, perhaps there's a problem with runmean. Maybe you could explain a little more about what this function does, or if it's very short even copy it into your question. (Not into a comment or answer though.)
Jakob Sievers
Jakob Sievers el 5 de Oct. de 2011
Hi David
I just talked with a colleague who said that a 30min mean would be sufficient, meaning that I can make a simple running mean that runs in a 20 seconds or so myself using the circ_mean as described above. Thanks for the help though!

Iniciar sesión para comentar.

Categorías

Más información sobre Line Plots en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by