在具有条件的细胞中寻找平均值

时间:2012-04-10 08:13:27

标签: matlab mean

我有以下内容:

a='abaacacbaa'    'abaaabaaaa'    'dcdcbbcccc'    'acaaaaabba'

v=[1x10 double]    [1x10 double]    [1x10 double]    [1x10 double]
v{1}=0.0064    0.4009   -0.0125   -0.0913    0.5707    0.0442    0.5210    0.3174   -0.2201    0.0570

letter={1x1 cell}    {1x1 cell}    {1x1 cell}    {1x1 cell}
letter{1}='a'


Here i=4 and j=10

我想为每个i找到v中相应条目的条目的平均值等于字母{i}。

使用@Bill Cheatham提到Finding mean of selected entries only

等式:

   mean(v(a == 'a')) 

所以我试过了:

  for k=1: 4
   for j=1: 10 
     M= mean(v{k}(char(a{k}(j))==char(letter{k})));
     Ms{k}=M;
    end
  end

也尝试使用

   a(:) and
    mat2cell(v)

所以结果应该是: Ms = [第1行的平均值} {第2行的平均值} {第3行的平均值} {第4行的平均值}

把括号放在这里明显分开

感谢

1 个答案:

答案 0 :(得分:0)

正如Dan所建议的那样,离开j循环解决了问题