Comparing cell arrays of symbolic variables

2 次查看(过去 30 天)
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!

回答(1 个)

Subhadra Mahanti
Subhadra Mahanti 2016-2-8
编辑:Subhadra Mahanti 2016-2-8
isequal(G{1},G{2})
The above code will return if true and 0 otherwise.
  2 个评论
Leo Simon
Leo Simon 2016-2-8
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 2016-2-8
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];

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by