Effacer les filtres
Effacer les filtres

Comparing cell arrays of symbolic variables

2 vues (au cours des 30 derniers jours)
Leo Simon
Leo Simon le 8 Fév 2016
Commenté : Walter Roberson le 8 Fév 2016
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!

Réponses (1)

Subhadra Mahanti
Subhadra Mahanti le 8 Fév 2016
Modifié(e) : Subhadra Mahanti le 8 Fév 2016
isequal(G{1},G{2})
The above code will return if true and 0 otherwise.
  2 commentaires
Leo Simon
Leo Simon le 8 Fév 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 le 8 Fév 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];

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by