目的:我想找到每一天中数据的最大值(如10月1号的最大值4.5,10月2号的最大值5.2,10月3号的最大值5.3)。
已知:日期是明确的,但每个日期对应多少组数据不清楚,像10月1号有7组数据,2号有4组数据,3号有6组数据。
谢谢大家!
你好!看起来没什么人回答你的这个问题啊。
这个用readtable来做,用timetable来进行处理,前提是你的matlab版本要在2016b以上,我在xlsx数据表格里测试了是可以运行的。
我给出的例子表格跟你的差不多格式
下面是我处理数据的代码
T = readtable('a.xlsx');
t = arrayfun(@(i)['2021-',replace(T{i,1}{1},{'月','号'},{'-',''})],...
(1:1:size(T,1))', 'uniform', false);
t = datetime(t);
val=T{:,2}; clear T;
TT = timetable(t,val);
maxTimeTable = retime(TT, 'daily', @(x)max(x))%找出每个日期最大值
writetimetable(maxTimeTable,'newtable.xlsx') %把日期和最大值写入newtable.xlsx
最后显示的每日最大值为
maxTimeTable =
5×1 timetable
t val
__________ ___
2021-10-05 12
2021-10-06 25
2021-10-07 37
2021-10-08 13
2021-10-09 2
希望你喜欢,满意给个采纳,你的另外一个问题也是我回答的,一并采纳了吧,嘿嘿
?