How to compare betwen two cells?

3 次查看(过去 30 天)
How to compare betwen two cells? like this:
S and T1 are two cell with different values:
c=1:
i=1;
SI{c},T1{i}
the error "Cell contents reference from a non-cell array object." appear
what is the suitble command matlab to use?
  3 个评论
Mira le
Mira le 2019-11-19
编辑:dpb 2019-11-19
S is cell intialised as
S= {1 2 , 2 3}
T1 also a cell
like
T1{1} = 1 2 3
T1{2} = 1 2 4
T1{4} = 1 2 3 5
S{1} = 1 2
S{2} = 2 3
each S{i} exist in T1{j}
dpb
dpb 2019-11-19
The above is simply not so as written--
>> S= {1 2 , 2 3}
S =
1×4 cell array
{[1.00]} {[2.00]} {[2.00]} {[3.00]}
>> whos S
Name Size Bytes Class Attributes
S 1x4 480 cell
>> S{1}
ans =
1.00
>> S{2}
ans =
2.00
>> T1{1} = 1 2 3
T1{2} = 1 2 4
T1{4} = 1 2 3 5
T1{1} = 1 2 3
Error: Unexpected MATLAB expression.
So the T1 can't be...could write something like:
>> T1{1} = [1 2 3]
T1 =
1×1 cell array
{1×3 double}
>> S{T1{1}}
ans =
1.00
ans =
2.00
ans =
2.00
>>
returns each element indexed into S but in a comma-separated list. This can be consolidated by surrounding with braces as:
>> [S{T1{1}}]
ans =
1.00 2.00 2.00
>>
Or, you can return the elements as cell array if don't dereference S but only T1:
>> S(T1{1})
ans =
1×3 cell array
{[1.00]} {[2.00]} {[2.00]}
>>
As requested before, we need to know precisely what storage form you do have; what you've posted simply doesn't work as written.
That's why asked for the output from the whos command--it shows what exists unequivocally.

请先登录,再进行评论。

采纳的回答

Ridwan Alam
Ridwan Alam 2019-11-19
编辑:Ridwan Alam 2019-11-20
T1{1} = [1 2 3];
T1{2} = [1 2 4];
T1{4} = [1 2 3 5];
S{1} = [1 2];
S{2} = [2 3];
%
%
setdiff(cell2mat(T1),cell2mat(S))
% ans =
%
% 4 5
Please accept the answer if it works!
  1 个评论
Ridwan Alam
Ridwan Alam 2019-11-22
Hi Mira,
If this solution works, please accept as an answer.
If there is anything wrong, please let me know.
Thanks!!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by