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 Kommentar

Vahid Eghbal
Vahid Eghbal am 29 Mai 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.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Roger Stafford
Roger Stafford am 29 Mai 2016

0 Stimmen

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 Kommentar

Vahid Eghbal
Vahid Eghbal am 29 Mai 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...

Melden Sie sich an, um zu kommentieren.

Walter Roberson
Walter Roberson am 29 Mai 2016

0 Stimmen

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

1 Kommentar

Vahid Eghbal
Vahid Eghbal am 29 Mai 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?

Melden Sie sich an, um zu kommentieren.

Gefragt:

am 29 Mai 2016

Kommentiert:

am 29 Mai 2016

Community Treasure Hunt

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

Start Hunting!

Translated by