在Matlab中计算向量的平均值

时间:2014-05-08 18:17:56

标签: vector binary average matlab

我在尺度A的Matlab中有一个由零或一个组成的向量(m*2^n)x1。我想获得与B具有相同维度的向量A,其中每个非零元素是2^(n-1) A元素子组中非零元素的平均值。 1}}它属于。更准确地说,假设m=6n=2以便2^n=4和A可以划分为6元素的4个子组

A=[0;0;1;1; 1;1;1;1; 0;1;0;1; 0;0;0;0; 1;1;0;0; 1;0;0;0]

因此

B=[0;0;1/2;1/2; 1/4;1/4;1/4;1/4; 0;1/2;0;1/2; 0;0;0;0; 1/2;1/2;0;0; 1;0;0;0]

1 个答案:

答案 0 :(得分:2)

<强>代码

n = 2;

t1 = reshape(A,2^n,[])
t2 = sum(t1)

B = reshape(bsxfun(@rdivide,t1,t2),[],1)
B(isnan(B))=0