我有一个向量(基本上是一个时间段)。
t=rand(1,20)'
我现在想要提取1到3,4或6,7到9的箱子的平均时间段。等等。
我可以使用平均值
逐步完成此操作first=mean(t(1:3:end);
second=mean(t(2:3:end);
third=mean(t(3:3:end);
然后使用vertcat创建我的均值向量
mean_ts=vertcat(first,second,third);
这是一个简单任务的代码很多,而且我没有获得标准偏差等等。 有没有命令,可以更轻松地为我做这件事? 提前致谢!
答案 0 :(得分:2)
您可以使用nan值扩展矢量,使其成为3的倍数
q = 3 - mod(numel(t),3);
t = [t; nan(q,1)];
然后重塑你的矢量,之后你可以按列计算平均值和stds:
k = reshape(t,3,numel(t)/3)';
mn = nanmean(k)
st = nanstd(k)
答案 1 :(得分:0)