Cannot find explicit solution
Afficher commentaires plus anciens
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.
1 commentaire
Vahid Eghbal
le 29 Mai 2016
Réponses (2)
Roger Stafford
le 29 Mai 2016
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
1 commentaire
Vahid Eghbal
le 29 Mai 2016
Walter Roberson
le 29 Mai 2016
0 votes
I do not know why it cannot find the solution, but the solution is w = 0, provided k is not -1
1 commentaire
Vahid Eghbal
le 29 Mai 2016
Catégories
En savoir plus sur Common Operations dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!