Cannot find explicit solution
이전 댓글 표시
I am trying to solve a nonlinear equation with one unknown:
syms eps a k f b e c d g w h ct m n
solve((-(w*(c*(f*k)^(1/(k + 1)) + d*(e*k)^(1/(k + 1))))/(4*eps*w - ct*w + n*w + g*(f*k)^(1/(k + 1))))^(k + 1) + (-(w*(a*(f*k)^(1/(k + 1)) + h*(e*k)^(1/(k + 1))))/(4*eps*w - ct*w + m*w + g*(f*k)^(1/(k + 1))))^(k + 1) == ((b*w*(e*k)^(1/(k + 1)))/(2*eps*w - ct*w + m*w + n*w + g*(f*k)^(1/(k + 1))))^(k + 1) + w^(k + 1), w>=0, eps>0, a>0, b>0, c>0, d>0, e>0, f>0, g>0, h>0, k>0, ct>0, m>0, n>0, w)
But Matlab says:
Warning: Cannot find explicit solution.
> In solve (line 316)
ans =
Empty sym: 0-by-1
Any idea?
Thanks.
답변 (2개)
Roger Stafford
2016년 5월 29일
I’m afraid you will just have to take solve’s word for it that it cannot find an explicit solution to your equation. I believe it is the presence of the term “w^(k+1)” that prevents a solution being found.
The way around this is to abandon symbolic solutions and obtain a numerical solution. This will require that you assign specific numerical values to all the parameters: k, c, d, e, etc. You can use matlab’s ‘fzero’ for this purpose. Read about it at:
http://www.mathworks.com/help/matlab/ref/fzero.html
Walter Roberson
2016년 5월 29일
0 개 추천
I do not know why it cannot find the solution, but the solution is w = 0, provided k is not -1
카테고리
도움말 센터 및 File Exchange에서 Common Operations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!