compare char (and empty elements) present in two cells

2 views (last 30 days)
Hi! I need to compare char (and empty elements) present in two cells. I made this code which works but it gives me an 'error' when it compares two empty cell elements (position [3,1] in 'cell_1' and 'cell_2'). In this case it returns 0 (false), i.e. they are not identical. How can I solve it?
cell_1 = importdata("cell_1.mat");
cell_2 = importdata("cell_2.mat");
row = height(cell_1);
column = width(cell_1);
siz = [row,column];
matrix_check = cell(siz);
for X = 1:row
for Y = 1:column
A = cell_1{X,Y};
B = cell_2{X,Y};
% if A == B
%
% tf = logical(1);
%
% else
tf = strcmp(A,B); % returns 1 (true) if the two are identical and 0 (false) otherwise
% end
matrix_check{X,Y} = tf;
end
end
  1 Comment
Bruno Luong
Bruno Luong on 26 Jul 2023
Edited: Bruno Luong on 26 Jul 2023
matrix_check = cell(siz);
You seem to have a bad habit of abusing cell storage for no apparent reason.

Sign in to comment.

Accepted Answer

Bruno Luong
Bruno Luong on 26 Jul 2023
replace the problematic command with
tf = strcmp(char(A),char(B));

More Answers (0)

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!