MATLAB Answers

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

7 views (last 30 days)
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" ?

  0 Comments

Sign in to comment.

Accepted Answer

David Goodmanson
David Goodmanson on 30 May 2020
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)

  2 Comments

Lu Zhao
Lu Zhao on 31 May 2020
Thank you so much. It works and I learned a lot. I really appreciate your help.
David Goodmanson
David Goodmanson on 1 Jun 2020
You're welcome, and I learned something as well. I had no idea if the product function would work, but it did.

Sign in to comment.

More Answers (0)


Translated by