MATLAB: How to separate positive and negative symbolic variables of an equation to the left and right sides of the equation in MATLAB

Symbolic Math Toolbox

for example we have this equation : 3*a – 2*b + 5*c – d = 0 
First I need to separate positive and negative variables to both side of equation: 3*a + 5*c = 2*b + d
and then take only the coefficient of each symbolic variables: 3 + 5 = 2 + 1 
Thank you

Best Answer

syms a b c d
eq = 3*a - 2*b + 5*c - d;
constants = subs( children(eq), {a b c d}, {1 1 1 1} );
pospart = constants(constants>0));
negpart = -constants(constants<0));
sum(postpart) == sum(negpart) %this will usually be false