Comparing characters in a matrix

3 次查看(过去 30 天)
I have a (nx1) matrix,M, that stores a list of characters and I need to iterate through a loop and keep comparing the i-th character in the matrix with a temp character.
But I'm not sure how to do this, i tried using M{i,1}== tmp and strcmp(M{i,1},tmp) but neither seem to work. Please help, thank you so much!
  5 个评论
Mini
Mini 2013-2-25
cmd = ['tesseract ',file,' tmp -psm 10']; %this is a command to run OCR and will save the character returned in a tmp.txt file
system(cmd);
%save temp results
f2 = fopen('tmp.txt','r');
tmp = fgets(f2); %this is the tmp character I want to compare against
if strcmp(M(i),tmp)
count = count+1;
end; if true
% code
end
Mini
Mini 2013-2-25
oh dear I realised my mistake... its not working because the characters in M are stored with the apostrophes in the format: 'U','C','Y'... but in the variable tmp, the character are just stored as: U, C, Y... is there a way to solve this kind of problem?

请先登录,再进行评论。

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2013-2-25
编辑:Azzi Abdelmalek 2013-2-25
strcmp(M(i),tmp)
  9 个评论
Azzi Abdelmalek
Azzi Abdelmalek 2013-2-25
编辑:Azzi Abdelmalek 2013-2-25
The problem is tmp is not equal to 'U' but to something like
'U ' % with spaces
Try this to remove space from tmp
strcmp(M(1),strtrim(tmp))
Mini
Mini 2013-2-25
omg this works, thank you sooooooooo much!!! (: Hope you have a great week ahead!! (:

请先登录,再进行评论。

更多回答(1 个)

Matt J
Matt J 2013-2-25
编辑:Matt J 2013-2-25
count=sum([M{:}]==tmp)
  4 个评论
Mini
Mini 2013-2-25
oh thank you for the explanation... now i understand where you are coming from.. but this tmp changes value in every iteration, so in that case I will have to check it in every iteration right?
Matt J
Matt J 2013-2-25
编辑:Matt J 2013-2-25
Not if there's a vectorized way of creating tmp. If M and tmp are string vectors of the same length, you can still do
count=sum(M==tmp)

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by