我想避免使用循环从较大的向量创建平均值列表。我在“平均值”中的每个位置都有较大向量中的索引。矢量,但我不想把它包裹在一个循环中。 Matlab中是否有一个cellfun()方法来加速这个过程。代码和示例如下:
tVector = 10 : 15;
values = [ 10.1 10.2 10.3 11.4 11.5 11.6 11.7 12.8 12.9 13 13.1 13.2 13.3 13.3 14 14.1 14.2 ];
[ x, n ] = histc( values, tVector );
if any( x ~= 0 )
indxList = unique( n );
avgList = NaN * ones( length( indxList ), 1 );
for k = 1 : length( indxList )
theseIndxs = find( indxList( k ) == n );
avgValue = mean( values( theseIndxs ) );
avgList( indxList( k ) ) = avgValue;
end
end
这里的数据是针对一个小数据集的简单示例。但是,我的数据有更长的篇幅,所以我想避免使用“#”;循环可能是cellfun()。