Hi, I tried to solve the below equation(roots of w) in Matlab but it gave me no explicit solution. Please help to explain it.

syms w s
eqn =(59049*pi^4*conj(s)^4 + 1492992*s^4*conj(s)^2 + 2985984*s^4*conj(s)^4 + 1327104*s^6*conj(s)^2 + 2654208*s^6*conj(s)^4 + 2654208*s^8*conj(s)^2 + 5308416*s^8*conj(s)^4 + 1679616*s^4 + 1492992*s^6 + 2985984*s^8 - 734832*pi^2*s^2*conj(s)^2 + 326592*pi^2*s^2*conj(s)^4 - 14405040*pi^2*s^4*conj(s)^2 - 7527168*pi^3*s^2*conj(s)^4 - 21301056*pi^2*s^4*conj(s)^4 - 25365312*pi^2*s^6*conj(s)^2 + 2987442*pi^4*s^2*conj(s)^4 - 16049664*pi^3*s^4*conj(s)^4 - 41202432*pi^2*s^6*conj(s)^4 - 11695104*pi^2*s^8*conj(s)^2 + 6730857*pi^4*s^4*conj(s)^4 - 9517824*pi^3*s^6*conj(s)^4 - 19574784*pi^2*s^8*conj(s)^4 + 4735584*pi^4*s^6*conj(s)^4 - 995328*pi^3*s^8*conj(s)^4 + 933120*pi^4*s^8*conj(s)^4 + 108527616*s^6*w^2*conj(s)^2 - 94371840*s^6*w^2*conj(s)^4 - 108527616*s^6*w^4*conj(s)^2 - 94371840*s^8*w^2*conj(s)^2 + 94371840*s^6*w^4*conj(s)^4 - 75497472*s^8*w^2*conj(s)^4 + 94371840*s^8*w^4*conj(s)^2 + 343932928*s^8*w^4*conj(s)^4 - 536870912*s^8*w^6*conj(s)^4 + 268435456*s^8*w^8*conj(s)^4 + 34836480*pi*s^4*conj(s)^2 + 35831808*pi*s^4*conj(s)^4 + 70668288*pi*s^6*conj(s)^2 + 76529664*pi*s^6*conj(s)^4 + 35831808*pi*s^8*conj(s)^2 + 40697856*pi*s^8*conj(s)^4 - 41554944*pi*s^4*w^2*conj(s)^2 - 48771072*pi*s^4*w^2*conj(s)^4 - 240205824*pi*s^6*w^2*conj(s)^2 - 260898816*pi*s^6*w^2*conj(s)^4 + 156598272*pi*s^6*w^4*conj(s)^2 - 39370752*pi*s^8*w^2*conj(s)^2 + 711327744*pi*s^6*w^4*conj(s)^4 - 218431488*pi*s^8*w^2*conj(s)^4 + 3538944*pi*s^8*w^4*conj(s)^2 - 544210944*pi*s^6*w^6*conj(s)^4 + 441974784*pi*s^8*w^4*conj(s)^4 - 364904448*pi*s^8*w^6*conj(s)^4 + 100663296*pi*s^8*w^8*conj(s)^4 + 16936128*pi^2*s^4*w^2*conj(s)^2 + 9346752*pi^3*s^2*w^2*conj(s)^4 - 204970752*pi^2*s^4*w^2*conj(s)^4 + 74400768*pi^2*s^6*w^2*conj(s)^2 - 3656664*pi^4*s^2*w^2*conj(s)^4 + 207645120*pi^3*s^4*w^2*conj(s)^4 + 223653888*pi^2*s^4*w^4*conj(s)^4 - 117854208*pi^2*s^6*w^2*conj(s)^4 - 44043264*pi^2*s^6*w^4*conj(s)^2 + 21316608*pi^2*s^8*w^2*conj(s)^2 - 46650168*pi^4*s^4*w^2*conj(s)^4 - 190335744*pi^3*s^4*w^4*conj(s)^4 + 242313984*pi^3*s^6*w^2*conj(s)^4 + 57765888*pi^2*s^6*w^4*conj(s)^4 + 79589376*pi^2*s^8*w^2*conj(s)^4 - 9621504*pi^2*s^8*w^4*conj(s)^2 + 39715920*pi^4*s^4*w^4*conj(s)^4 - 57301344*pi^4*s^6*w^2*conj(s)^4 - 368934912*pi^3*s^6*w^4*conj(s)^4 + 44015616*pi^3*s^8*w^2*conj(s)^4 + 113836032*pi^2*s^6*w^6*conj(s)^4 - 185057280*pi^2*s^8*w^4*conj(s)^4 + 90512640*pi^4*s^6*w^4*conj(s)^4 - 14307840*pi^4*s^8*w^2*conj(s)^4 + 136138752*pi^3*s^6*w^6*conj(s)^4 - 102739968*pi^3*s^8*w^4*conj(s)^4 + 209977344*pi^2*s^8*w^6*conj(s)^4 - 37946880*pi^4*s^6*w^6*conj(s)^4 + 34110720*pi^4*s^8*w^4*conj(s)^4 + 77414400*pi^3*s^8*w^6*conj(s)^4 - 84934656*pi^2*s^8*w^8*conj(s)^4 - 29030400*pi^4*s^8*w^6*conj(s)^4 - 17694720*pi^3*s^8*w^8*conj(s)^4 + 8294400*pi^4*s^8*w^8*conj(s)^4)/(5308416*s^8*conj(s)^4) == 0
w=solve(eqn,w)
Warning: Explicit solution could not be found. > In solve at 179
w =
[ empty sym ]

답변 (1개)

Roger Stafford
Roger Stafford 2015년 4월 11일
편집: Roger Stafford 2015년 4월 11일
I believe you have an eighth degree polynomial in w with only even powers, so it can be regarded as a fourth degree polynomial in v = w^2. There does exist an analytic solution for fourth degree polynomials, and taking the two square roots of each of its four roots would give you the eight roots of w as analytic expressions (though in your case hideously complicated) in terms of s. Therefore, in theory, 'solve' should have given you an answer. However apparently its complexity proved to be too much for the poor creature and it gave up. There are some definite limitations to what 'solve' can accomplish.
If you first use the symbolic toolbox to do a 'collect' of the like powers of w, you could write a function which receives the value 's' and calls on 'roots' with the five coefficients you have found to obtain the eight corresponding roots of w. Doing this would probably be simpler than having to deal with quartic polynomial root formulas which are quite complicated.

카테고리

도움말 센터File Exchange에서 Mathematics에 대해 자세히 알아보기

질문:

2015년 4월 10일

편집:

2015년 4월 11일

Community Treasure Hunt

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

Start Hunting!

Translated by