how to sum data every year

8 次查看(过去 30 天)
hello
i have a 11322x6 double. i have the date in the first column, months and days in the third and the forth. on the fivth and the sixth colum i have the variables. temperature and degre days that i calculeted from temperature. now i need to sum every degre day of every year together , the problem years change the number evey 4 years so how to do it with a function or easy loop. i saw a lot of them on matlab but don't kenw how to use itnd i don't knew to apply it on my case

采纳的回答

Adam Danz
Adam Danz 2020-2-3
编辑:Adam Danz 2020-2-6
No loop needed.
Use findgroups() on the appropriate column(s) to group the rows. Then use
to compute the mean of each group where data is the temperature column.
If your data contain missing values, you can use mu = splitapply(@(x), mean(data,'omitnan'), groups).
Let us know if you get stuck.
  2 个评论
Hichem Younsi
Hichem Younsi 2020-2-5
so i can't apply the findgroups in an array ?
Adam Danz
Adam Danz 2020-2-5
编辑:Adam Danz 2020-2-5
Updated comment
You can't apply findgroups to a matrix but you can find unique rows of a table
or you can separate the columns of your matrix and use this syntax
Both of those links will show documentation that describes the syntax and provides examples.

请先登录,再进行评论。

更多回答(1 个)

Hichem Younsi
Hichem Younsi 2020-2-8
oof that worked thank you Adam Danz. i convert the matrix to an table and then i used the findgroups to find how many days in each mounths in years and then i used the splitapply function to sum the variable on folwngs years. GREAT THANK YOU
Adam Danz

类别

Help CenterFile Exchange 中查找有关 Oceanography and Hydrology 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by