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

5 Ansichten (letzte 30 Tage)
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" ?

Akzeptierte Antwort

David Goodmanson
David Goodmanson am 30 Mai 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 Kommentare
Lu Zhao
Lu Zhao am 31 Mai 2020
Thank you so much. It works and I learned a lot. I really appreciate your help.
David Goodmanson
David Goodmanson am 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Symbolic Math Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by