Get Index of Different Cell Value Between Multiple Cell Array

2 views (last 30 days)

Hi, i want to get index of different cell value between multiple cell array using result of strcmp.

I know how to use strcmp.

In example :

cell_array_1 = {
                 'love', 'love', 'love';
                 'love', 'love', 'love';
                 'love', 'love', 'love';
                 'love', 'love', 'love';
               }
cell_array_2 = {
                 'love', 'love', 'love';
                 'love', 'peace', 'love';
                 'love', 'love', 'peace';
                 'love', 'love', 'love';
               }

Using strcmp :

strcmp(cell_array_1, cell_array_2)
>>
strcmp_result = 
'1' '1' '1'
'1' '0' '1'
'1' '1' '0'
'1' '1' '1'

The purpose is, i want to get '0' elemen's index. So i can change their font's color on UI table.

I just know how to change the font's color like this (for UI table) :

for i_row = 1:size(strcmp_result, 1)
   for i_column = 1:size(strcmp_result, 2)
      strcmp_result(i_row, i_column) = strcat('<html><body bgcolor="#ffe097" text="#794044">', strcmp_result(i_row, i_column));
   end
end

With above code, the whole font of table is colored.

How to give spesific index from strcmp?

Thanks in advance.

Accepted Answer

Walter Roberson
Walter Roberson on 1 Jul 2016
Your strcmp_result is not a cell array of strings like you show: it will be an array of logical.
for i_row = 1:size(strcmp_result, 1)
for i_column = 1:size(strcmp_result, 2)
if strcmp_result(i_row, i_column)
strcmp_result_str{i_row, i_column} = '1';
else
strcmp_result_str{i_row, i_column} = '<html><body bgcolor="#ffe097" text="#794044">0';
end
end
end
Now set strcmp_result_str as the Data for the uitable

More Answers (0)

Categories

Find more on Line Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!