how do I compare columns in a string matrix
1 次查看(过去 30 天)
显示 更早的评论
I have a given string matrix and I need to check if the word can be read the same from the opposite direction (that it is to say if it is a Palindromes like -live not on evil)
%
wordList = ['civic';'dream';'kayak';'level';...
'lower';'peace';'radar';'refer';'table';'stats']
if the word is read the same from both direction I have to put 1 in the vector palRes(10,1) if not - I have to put 0 in it...
what I have done:
%
wordList = ['civic';'dream';'kayak';'level';...
'lower';'peace';'radar';'refer';'table';'stats']
wordList1 = fliplr(wordList)
palRes=zeros(10,1)
for ii= 1:size(wordList,1)
for jj = 1:size(wordList,2)
if wordList(ii)== wordList1(ii)
palRes(ii,jj) = 1
end
end
end
but the problem is that the final palRes that I get is a(10,5)matrix instead of (10,1) vec I want to fix this problem inside the loop and not after it! any ideas? thanks!
0 个评论
采纳的回答
Roger Stafford
2013-11-23
Instead of that inner for-loop with the index jj, use the 'all' function:
palRes(ii) = all(wordList(ii)==fliplr(wordList(ii));
3 个评论
Roger Stafford
2013-11-23
You can read about it in detail at:
http://www.mathworks.com/help/matlab/ref/all.html
In your case it is true if each logical element in its vector argument is true.
I have assumed here that wordList(ii) is a vector of string characters. Perhaps it should be written as wordList(ii,:).
更多回答(0 个)
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!