Simplifying a symbolic expression

9 visualizzazioni (ultimi 30 giorni)
MILLER BIGGELAAR
MILLER BIGGELAAR il 25 Set 2022
Commentato: Walter Roberson il 25 Set 2022
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 Commento
Dyuman Joshi
Dyuman Joshi il 25 Set 2022
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 = 

Accedi per commentare.

Risposte (1)

Walter Roberson
Walter Roberson il 25 Set 2022
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 Commenti
MILLER BIGGELAAR
MILLER BIGGELAAR il 25 Set 2022
Modificato: MILLER BIGGELAAR il 25 Set 2022
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 il 25 Set 2022
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.

Accedi per commentare.

Categorie

Scopri di più su Symbolic Math Toolbox in Help Center e File Exchange

Prodotti


Release

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by