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!