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 件のコメント

Dyuman Joshi
Dyuman Joshi 2023 年 9 月 12 日
Please attach your data, use the paperclip button to do so.

サインインしてコメントする。

 採用された回答

Star Strider
Star Strider 2023 年 9 月 12 日

0 投票

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 件のコメント

Simona Blaskova
Simona Blaskova 2023 年 9 月 16 日
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!
Star Strider
Star Strider 2023 年 9 月 16 日
As always, my pleasure!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Community Treasure Hunt

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

Start Hunting!

Translated by