MATLAB: How to simplify a symbolic equation, but still keep the denominator

manipulate equationsymbolic equation

Hi,
Here is a simplified equation for my problem: I would like to cancle "b" only at both side .(Euqation is in the code, "eqn1")
syms x y a b
eqn1 = b*(x/a + 1) == b*y/a; % This is the equation, I would like to cancel "b" at both side, and still keep "a" as denominator.
S=simplify(eqn1)
Results are:
S =
y == a + x | b == 0 % I want to get "(x/a+1)==y/a" instead.
Question: How can I enforce a rule to "simplify" command, so I can keep "a" as denominator, namely, I want to get : "(x/a+1)==y/a" ?

Best Answer

Hi LZ
syms x y a b
eqn1 = b*(x/a + 1) == b*y/a; % This is the equation, I would like to cancel "b" at both side, and still keep "a" as denominator.
lhs = factor(b*(x/a + 1))
rhs = factor(b*y/a)
lhs(find(lhs==b)) = [];
rhs(find(rhs==b)) = [];
eqn2 = prod(lhs) == prod(rhs)