partfrac() function returning same expression that was given as input
8 views (last 30 days)
Show older comments
Thejus Jose
on 19 Apr 2020
Commented: Star Strider
on 20 Apr 2020
I have the following expression:
(4*l^2*m5 - 2*dl^2*m5*cos(2*THETA1(t) - 4*THETA2(t) + 4*THETA3(t) - 4*THETA4(t) + 2*THETA5(t)))/(12*dl^2)
I want the denominator (i.e. 12*dl^2) to be divided across all the numerator terms so that the resulting expression is the sum of a bunch of terms.
partfrac((4*l^2*m5 - 2*dl^2*m5*cos(2*THETA1(t) - 4*THETA2(t) + 4*THETA3(t) - 4*THETA4(t) + 2*THETA5(t)))/(12*dl^2))
ans =
(- m5*cos(2*THETA1(t) - 4*THETA2(t) + 4*THETA3(t) - 4*THETA4(t) + 2*THETA5(t))*dl^2 + 2*m5*l^2)/(6*dl^2)
When I use the partfrac() function in MATLAB to do this, it gives me almost the same expression again.
Please help.
0 Comments
Accepted Answer
Star Strider
on 19 Apr 2020
The partfrac function needs more information, specifically the variable (not expression) that you want it to use.
This (note that I provided the variable ‘dl’ and a useful name-value pair):
syms dl l m5 t THETA1(t) THETA2(t) THETA3(t) THETA4(t) THETA5(t)
Eq = (4*l^2*m5 - 2*dl^2*m5*cos(2*THETA1(t) - 4*THETA2(t) + 4*THETA3(t) - 4*THETA4(t) + 2*THETA5(t)))/(12*dl^2);
Eq_pf = partfrac(Eq, dl, 'FactorMode','full')
produces:
Eq_pf =
(l^2*m5)/(3*dl^2) - (m5*cos(2*THETA1(t) - 4*THETA2(t) + 4*THETA3(t) - 4*THETA4(t) + 2*THETA5(t)))/6
That is as much as it can do.
.
2 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!