从时间序列中提取和绘制最大/最小值

17次观看(过去30天)
Lindazeta
Lindazeta 2020年5月12日
评论道: Lindazeta2020年5月13日
我有一个连续测量ph值的时间序列。每5分钟测量一次,时间序列总共是13天。
我想找出并绘制出每天的最大值和最小值,其中最大值和最小值是基于24个平均pH值/小时的观测值。
到目前为止,我已经能够得到每小时的平均pH值,但我不知道如何从这些值中找到最大/最小值,然后绘制成连续时间序列。
这是我到目前为止所做的每小时的平均pH值:
dnv =[时间];
dv6 = datevec (dnv);%日期向量矩阵,6列
dn4 = datenum ([dv6 (: 1:4) repmat([0 0]、大小(dv6, 1), 1)));
(Du, ~, di) =独特(dn4,“稳定”);
均值= accumarray(di, pH,[], @均值);创造意味着每一个小时
Out = [datevec(Du)含义];%输出分隔列,日期时间平均值
德= datetime ((: 1:6));将日期和时间合并回1列
那么,如何找到与绘图相关的日期和时间的最大值和最小值呢?

接受的答案

李鹏
李鹏 2020年5月12日
更好地利用表格格式和splitapply函数。
台= readtable (“data.csv”);
资源描述。天= (tbl.Date);
资源描述。=小时(tbl.Date);
[Group, hourTbl] = findgroups(tbl(:, {)“天”“小时”}));
hourTbl。的意思是= splitapply(@nanmean, tbl.pH, Group);
[Group, dayTbl] = findgroups(hourTbl(:,“天”));
dayTbl。马克斯= splitapply(@max, hourTbl.mean, Group);
dayTbl。最小值= splitapply(@min, hourTbl.mean, Group);
4评论
Lindazeta
Lindazeta 2020年5月13日
没关系,我成功了!非常感谢您的帮助!

登录发表评论。

更多的答案(0)

下载188bet金宝搏


释放

R2019b

社区寻宝

在MATLAB中央找到宝藏,并发现社区可以如何帮助你!

开始狩猎!