Symbolic Expression Sum Same Denominator
조회 수: 26 (최근 30일)
이전 댓글 표시
I have a symbolic experssion in the form: (where are symvars)
(3*a)/8 + (3*b)/8 + c/4
I would like this to be in the form of the same denominator, like:
(3*a + 3*b + 2*c) / 8
How can I achieve this ?
댓글 수: 0
답변 (2개)
Star Strider
2018년 12월 26일
편집: Star Strider
2018년 12월 26일
Try this:
syms a b c
Eqn = (3*a)/8 + (3*b)/8 + c/4
[Eqnn,Eqnd] = numden(Eqn)
producing:
Eqnn =
3*a + 3*b + 2*c
Eqnd =
8
Unfortunately, if you express it again as:
NewEqn = Eqnn / Eqnd
the result is the original format for ‘Eqn’.
EDIT —
The best you can hope for is a LaTeX expression for your fraction:
syms a b c
Eqn = (3*a)/8 + (3*b)/8 + c/4
[Eqnn,Eqnd] = numden(Eqn)
fn = latex(Eqnn);
fd = latex(Eqnd);
Expr = sprintf('$f(a,b,c) = \\frac{%s}{%s}$', fn, fd)
producing:
댓글 수: 0
madhan ravi
2018년 12월 26일
편집: madhan ravi
2018년 12월 26일
syms a b c
eqn = (3*a)/8 + (3*b)/8 + c/4
simplifyFraction(eqn,'Expand',1) % the best way to simplify a fraction by expanding also returns the same
댓글 수: 2
madhan ravi
2018년 12월 26일
편집: madhan ravi
2018년 12월 26일
Yes exactly matlab is not able to compute those fractions as you desire.
Try:
bb=factor(eqn) % gives your partial result though
Gives:
bb =
[ 1/8, 3*a + 3*b + 2*c]
참고 항목
카테고리
Help Center 및 File Exchange에서 Assumptions에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!