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.

1 comentario

Vahid Eghbal
Vahid Eghbal el 29 de Mayo de 2016
At first I didn't restrict the parameters to be greater than zero. Now I did it and edited the question by adding them, but I still have the same problem.

Iniciar sesión para comentar.

Respuestas (2)

Roger Stafford
Roger Stafford el 29 de Mayo de 2016

0 votos

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 comentario

Vahid Eghbal
Vahid Eghbal el 29 de Mayo de 2016
Thanks Roger.
I already solved it numerically by assigning some values to the parameters in another software (not Matlab). The reason of using Matlab was to find the solution symbolically.
I need a symbolic solution...

Iniciar sesión para comentar.

Walter Roberson
Walter Roberson el 29 de Mayo de 2016

0 votos

I do not know why it cannot find the solution, but the solution is w = 0, provided k is not -1

1 comentario

Vahid Eghbal
Vahid Eghbal el 29 de Mayo de 2016
Oh! Actually I forgot to mention that all of the parameters are greater than zero and the variable (w) is greater than or equal to 0. Does it help?
And would you tell me how you found w=0?

Iniciar sesión para comentar.

Etiquetas

Preguntada:

el 29 de Mayo de 2016

Comentada:

el 29 de Mayo de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by