Matlab 将数组划分为连续递增序列
我有一个数组中非零列的数组,它严格地递增,但以空格为标点。我需要取非零列的平均值,但是关于断点 例如,如果数组是Matlab 将数组划分为连续递增序列,matlab,sequences,Matlab,Sequences,我有一个数组中非零列的数组,它严格地递增,但以空格为标点。我需要取非零列的平均值,但是关于断点 例如,如果数组是 a = [2,3,4,5,6,8,9,10] 我需要分别计算列[1,2,3,4,5,6]和[7,8,9,10]的平均值(开始时的额外值是基础信号发生变化时) 此代码: output=accumarray(cumsum([0;diff(a(:)])]
a = [2,3,4,5,6,8,9,10]
我需要分别计算列[1,2,3,4,5,6]
和[7,8,9,10]
的平均值(开始时的额外值是基础信号发生变化时)
此代码:
output=accumarray(cumsum([0;diff(a(:)])]<0)+1,a,[],@(x){x})
将数组拆分为递增序列,以递减为标点
如何将数组拆分为以间隔为标点的递增序列?找到了答案
output = accumarray( cumsum([0; diff(a(:))] > 1)+1, a, [], @(x) {x} )
他做这项工作
我只需要检查diff(a(:)何时大于1 找到了
output = accumarray( cumsum([0; diff(a(:))] > 1)+1, a, [], @(x) {x} )
他做这项工作
我只需要检查diff(a(:)何时大于1