partfrac() function returning same expression

syms s
% Given expression
F = partfrac((s^2+2*s+1)/(s^3-5*s+3),s)
F = 
The output is as follows.
F =
(s^2 + 2*s + 1)/(s^3 - 5*s + 3)
I know syms has a big part to do with it but im not sure exactly what.

回答(1 个)

It gives the same expression as the output because the denominator can not be decomposed with the default factor format i.e. 'rational'.
You can specify a 'full' or 'real' factor mode but the output might not be easy to look at -
syms s
F1 = partfrac((s^2+2*s+1)/(s^3-5*s+3),s,'FactorMode','real')
F1 = 
F2 = partfrac((s^2+2*s+1)/(s^3-5*s+3),s,'FactorMode','full')
F2 = 
vpa(F2)
ans = 

3 个评论

Thank you. When I attempted I did try full but like you said the output was a bit crazy. Is there any way to format the ouput short ? for the factor format real?
I assume you mean to show the output with 4 significant digits -
syms s
F = partfrac((s^2+2*s+1)/(s^3-5*s+3),s,'FactorMode','full')
F = 
vpa(F, 4)
ans = 

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

产品

版本

R2023b

提问:

2024-1-31

Community Treasure Hunt

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

Start Hunting!

Translated by