フィルターのクリア

compare char (and empty elements) present in two cells

1 回表示 (過去 30 日間)
Alberto Acri
Alberto Acri 2023 年 7 月 26 日
編集済み: Bruno Luong 2023 年 7 月 26 日
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 件のコメント
Bruno Luong
Bruno Luong 2023 年 7 月 26 日
編集済み: Bruno Luong 2023 年 7 月 26 日
matrix_check = cell(siz);
You seem to have a bad habit of abusing cell storage for no apparent reason.

サインインしてコメントする。

採用された回答

Bruno Luong
Bruno Luong 2023 年 7 月 26 日
replace the problematic command with
tf = strcmp(char(A),char(B));

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeResizing and Reshaping Matrices についてさらに検索

製品


リリース

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by