在字符串MATLAB中查找ascii值的平均值

时间:2014-01-31 16:31:22

标签: string matlab mean

我给出的字符串如下:

scrap1 = 
a le h
ke fd 
zyq  b
 ner i

您会注意到每行有2个空格表示空格(ASCII 32)。我需要在不考虑空格的情况下找到每列中的平均ASCII值(32)。首先我会转换为double(scrap1)但是如何在不考虑空格的情况下找到均值?

3 个答案:

答案 0 :(得分:2)

如果只是ASCII 32,你想省略:

d = double(scrap1);
result = mean(d(d~=32)); %// logical indexing to remove unwanted value, then mean

答案 1 :(得分:1)

您可以使用scrap1(scrap1 == ' ') = '';删除字符串中的中间空格。这将使用空字符串替换输入中的任何空格。然后,您可以将转换加倍并平均结果。有关其他方法,请参阅here

答案 2 :(得分:1)

可能您可以使用regex查找空格并忽略它。 “\的”

findSpace = regexp(scrap1, '\s', 'ignore')

%我不确定忽略的情况,这是我想到的。但你可以通过排序doc regexp来阅读更多关于正则表达式的信息。