Obtain the mean angle (circle mean of a file)

19 次查看(过去 30 天)
Hi, first of all, thank you for reading me, i need something very simple but i can't find a good program to do this...
The average of wind direction data.
i am using matlab 2019a, and have all this data (for a year) and i need the average of this data (attach photo) for every row (this data are in degree, so this not regular mean is circle mean that i need) , so every 10 minutes, so in the end i want to have only one column, i am using meanangle, but i don't obtain good results. don't obtain good results.
if you can help me I would appreciate it too much

采纳的回答

Bruno Luong
Bruno Luong 2020-8-5
编辑:Bruno Luong 2020-8-5
angledata_deg is your angle data in degree
meanangle_deg = rad2deg(atan2(mean(sind(angledata_deg),2),mean(cosd(angledata_deg),2)))
  3 个评论
Bruno Luong
Bruno Luong 2020-8-5
编辑:Bruno Luong 2020-8-5
Normal, since atan2 returns angle in [-pi,pi] so it can be negative, if you prefer angle in [0,2*pi]
do this after the first command.
meanangle_deg = mod(meanangle_deg ,360)

请先登录,再进行评论。

更多回答(2 个)

Jessica Langsdale
%enter the number of rows here
arraySize=5;
meanData=zeros(arraySize,1)
for i=1:5
meanData(i)=mean(originalData(i,:))
end
Replace all the variables with your stuff. I think this is what you need? I'm not quite sure what you mean by 'circle mean' but this fits the description of the second half of your question.

KSSV
KSSV 2020-8-5
num = xlsread(myfile) ; % better use readtable
iwant = mean(num,2) ;

类别

Help CenterFile Exchange 中查找有关 Axes Transformations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by