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 件)

Dyuman Joshi
Dyuman Joshi 2024 年 1 月 31 日
移動済み: Steven Lord 2024 年 1 月 31 日

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 件のコメント

Esteban
Esteban 2024 年 1 月 31 日
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?
Dyuman Joshi
Dyuman Joshi 2024 年 1 月 31 日
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 = 
Dyuman Joshi
Dyuman Joshi 2024 年 2 月 19 日
Any updates, @Esteban?

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeSymbolic Math Toolbox についてさらに検索

製品

リリース

R2023b

質問済み:

2024 年 1 月 31 日

コメント済み:

2024 年 2 月 19 日

Community Treasure Hunt

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

Start Hunting!

Translated by