Simplifying a symbolic expression

Hi team,
I am trying to simplify the symbolic expression below into the form (x + __)(x + __)(x + __)(x + __)(x + __)
syms x k
f = 50*x^5+994*x^4+5504*x^3+20*k*x^3+6233*x^2+170*k*x^2+980*k*x-8732*x+1700*k-24913;
I have tried using the simplify() function however it won't simplify further, approximations are fine. Any suggestions?

1 件のコメント

Dyuman Joshi
Dyuman Joshi 2022 年 9 月 25 日
I don't think you will be able to do such factorisation, in an expression where there is an unknown independent variable.
syms f(x,k)
f(x,k) = 50*x^5+994*x^4+5504*x^3+20*k*x^3+6233*x^2+170*k*x^2+980*k*x-8732*x+1700*k-24913;
fac=factor(f)
fac(x, k) = 
Though you will get a factorization for values of k
y=simplify(f(x,0),10)
y = 
z=factor(f(x,0),x,'FactorMode','complex')
z = 

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

回答 (1 件)

Walter Roberson
Walter Roberson 2022 年 9 月 25 日

0 投票

You are trying to find the symbolic roots of a degree 5 polynomial. It does not happen to be one of the quintic polynomials that factors into algebraic numbers (at least not for the general case)

2 件のコメント

MILLER BIGGELAAR
MILLER BIGGELAAR 2022 年 9 月 25 日
編集済み: MILLER BIGGELAAR 2022 年 9 月 25 日
so there is no way to factorise this into the following then from what i gather?
f*(x+a)(x+b)(x+c)(x+kd)
Even with say, 5+ decimals for each value?
Walter Roberson
Walter Roberson 2022 年 9 月 25 日
You have x^5 and will not be able to recreate that by multiplying four (x+something) terms.
If you had specific numeric k then you could vpasolve() or use sym2poly() and roots(). But with symbolic k there you cannot get a decimal approximation.

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

カテゴリ

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

製品

リリース

R2022b

質問済み:

2022 年 9 月 25 日

コメント済み:

2022 年 9 月 25 日

Community Treasure Hunt

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

Start Hunting!

Translated by