Simplifying a symbolic expression
3 次查看(过去 30 天)
显示 更早的评论
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
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)
Though you will get a factorization for values of k
y=simplify(f(x,0),10)
z=factor(f(x,0),x,'FactorMode','complex')
回答(1 个)
Walter Roberson
2022-9-25
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 个评论
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!