【发布时间】:2012-04-22 12:56:06
【问题描述】:
我有以下几点:
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 中的条目的平均值,其中 a 中的对应条目等于字母{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 行的平均值}
把括号放在此处使分隔更明显
谢谢
【问题讨论】:
-
听起来你应该离开 j 循环,然后只是 char(a{k}) == char(letter{k})...
-
感谢@Dan 你救了我的命