Clear Filters
Clear Filters

Average C/No value for each second

2 views (last 30 days)
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!
  1 Comment
Dyuman Joshi
Dyuman Joshi on 12 Sep 2023
Please attach your data, use the paperclip button to do so.

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 12 Sep 2023
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 Comments
Simona Blaskova
Simona Blaskova on 16 Sep 2023
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!

Sign in to comment.

More Answers (0)

Categories

Find more on Tables in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!