Comparing cell arrays of symbolic variables

1 visualización (últimos 30 días)
Leo Simon
Leo Simon el 8 de Feb. de 2016
Comentada: Walter Roberson el 8 de Feb. de 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!

Respuestas (1)

Subhadra Mahanti
Subhadra Mahanti el 8 de Feb. de 2016
Editada: Subhadra Mahanti el 8 de Feb. de 2016
isequal(G{1},G{2})
The above code will return if true and 0 otherwise.
  2 comentarios
Leo Simon
Leo Simon el 8 de Feb. de 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 el 8 de Feb. de 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];

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by