Average C/No value for each second

I have a 19790x2 table containing data with C/No values with timestaps. Timestamps are duplicate, there are multiple rows for each second, as shown in the picture below.
I need to get a vector 'average_CNo_gps', which would contain an average C/No value for each second. The time vector, which contains the total number of seconds is 1814x1 (so the result should be 1814x1 as well). However, my code gives me a 1638x1 vector as a result instead and I don't know why. My code is as follows:
G = findgroups(gps_L1.UTCTime);
avg_CNo_gps_L1 = splitapply(@(x) mean(x), gps_L1.Cn0DbHz, G);
I also tried discretize function for the time, but with the same result.
Could anyone help me with this and tell me where I make a mistake or is there any other way to approach this? Any help would be highly appreciated!

 采纳的回答

Star Strider
Star Strider 2023-9-12
It would help to have the data.
The best approach will likely be to create a timetable from it and then use the retime function.

2 个评论

Unfortunately I couldn't upload the file, the size was too big. However, I tried using the retime function as you suggested and now it works just fine! So thank you very much!
As always, my pleasure!

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Dictionaries 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by