让图像有一个24x5矩阵M,包含5种不同变量类型的1小时数据(每个24个值)。
我喜欢将数据平均到例如4小时意味着。
有没有更好的方法,然后进行三次这样的重塑?
M = reshape( nanmean( reshape( reshape(M,1,[]), 4, [] ) ), [], 5)
或者更好的阅读:
M = reshape(M,1,[]);
M = reshape(M,4,[]);
M = nanmean(M);
M = reshape(M,[],5);
感谢您的回答。
答案 0 :(得分:0)
reshape
在MATLAB中不是一项代价高昂的操作,因为它只会改变数据的处理方式,并且不会触及或复制基础数据。
话虽如此,您只需要拨打一次reshape
。
means = squeeze(nanmean(reshape(M, 4, 6, []), 1))