Comparing cell arrays of symbolic variables

2 views (last 30 days)
I'd like to be able to compare two arrays, each consisting of symbolic variables. In particular I'd like to be able to run setdiff on them. But setdiff appears not to work for symbolic arrays, as the example illustrates
syms a b c
G{1} = {a,b,c}
G{2} = {a,b}
setdiff(G{1},G{2})
Is there an alternative way of accomplishing what setdiff should be able to accomplish?
Thanks!

Answers (1)

Subhadra Mahanti
Subhadra Mahanti on 8 Feb 2016
Edited: Subhadra Mahanti on 8 Feb 2016
isequal(G{1},G{2})
The above code will return if true and 0 otherwise.
  2 Comments
Leo Simon
Leo Simon on 8 Feb 2016
Thanks! I actually wanted a command that would return whatever is not in the union of G{1} and G{2}, not just check if they are equal. Obviously setdiff would work if I defined the G's as regular arrays rather than cell arrays, but I need it to works for cells.
Walter Roberson
Walter Roberson on 8 Feb 2016
You do not have symbolic arrays to take the set difference of. {a,b,c} is a cell array each element of which contains one symbol. The symbolic array form would be
G{1} = [a, b, c];

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!