Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
Warning: Explicit solution could not be found

Subject: Warning: Explicit solution could not be found

From: Ashwin Balaji

Date: 29 Feb, 2012 01:23:11

Message: 1 of 5

Hello,

My name is Ashwin and I have a problem solving this equation symbolically. Here I need to solve this Eqn for h1 in terms of all other variable (so,N,m,E,h etc)

I tried using solve command but turned me with an error "Warning: Explicit solution could not be found".

Below is my code.
>> so = sym('so');
>> m = sym('m');
>> a = sym('a');
>> w = sym('w');
>> h1 = sym('h1');
>> h = sym('h');
>> phi = sym('phi');
>> n = sym('n');
>> E=sym('E');
>> N=sym('N');
Eqn=(4*so*w*(1-m)*a*h1)+(m*E*w*tan(phi)*h1*((1+(((h-h1)/h1)^((n-1)/n)))))-(2*N*a*(1-m))-(2*so*w*h*a*(1-m))-((m*E*tan(phi)*w*h*(((h-h1)/h1)^((n-1)/n))))
 
Eqn =
 
2*N*a*(m - 1) + 2*a*h*so*w*(m - 1) - 4*a*h1*so*w*(m - 1) + E*h1*m*w*tan(phi)*(((h - h1)/h1)^((n - 1)/n) + 1) - E*h*m*w*tan(phi)*((h - h1)/h1)^((n - 1)/n)
 
>> pretty(Eqn)
 
  2 N a (m - 1) + 2 a h so w (m - 1) - 4 a h1 so w (m - 1) +
   
                       / n - 1 \ n - 1
                       | ----- | -----
                       | n | n
                       | / h - h1 \ | / h - h1 \
     E h1 m w tan(phi) | | ------ | + 1 | - E h m w tan(phi) | ------ |
                       \ \ h1 / / \ h1 /
>> solve(Eqn,h1)
Warning: Explicit solution could not be found.

 I am not that good in Matlab function, just started using it recently. So I would appreciate if anyone could help me fix this issue on how do I solve for h1 in terms of the other variables.

Thanks,
-Ashwin

Subject: Warning: Explicit solution could not be found

From: Matt J

Date: 29 Feb, 2012 02:46:10

Message: 2 of 5

"Ashwin Balaji" <ashwinb1@umbc.edu> wrote in message <jijulv$1t9$1@newscl01ah.mathworks.com>...
>
> I am not that good in Matlab function, just started using it recently. So I would appreciate if anyone could help me fix this issue on how do I solve for h1 in terms of the other variables.
====================

Maybe you should first explain to us, though, why you doubt the warning message. Why do you think an explicit solution for h1 should be possible?

Subject: Warning: Explicit solution could not be found

From: Roger Stafford

Date: 29 Feb, 2012 03:02:11

Message: 3 of 5

"Ashwin Balaji" <ashwinb1@umbc.edu> wrote in message <jijulv$1t9$1@newscl01ah.mathworks.com>...
> I tried using solve command but turned me with an error "Warning: Explicit solution could not be found".
> Eqn =
> 2*N*a*(m - 1) + 2*a*h*so*w*(m - 1) - 4*a*h1*so*w*(m - 1) + E*h1*m*w*tan(phi)*(((h - h1)/h1)^((n - 1)/n) + 1) - E*h*m*w*tan(phi)*((h - h1)/h1)^((n - 1)/n)
- - - - - - - - -
  You might try a change of variable to be solved for as

 x = (h-h1)/h1

and substitute h/(x+1) in place of h1 everywhere to see if 'solve' might be able to handle that. However it is unlikely that would work either. If not, you had better use a numerical method such as 'fzero' which could provide solutions if given the numerical values of the other variables.

  Probably you should take matlab's advice literally that indeed an "explicit solution could not be found". If n is a positive integer your equation can be reduced to a polynomial equation of around the n-th degree, and beyond the 4th degree it is known that in general no explicit solution can ever be found involving involution functions (such as square root, cube root, etc.)

Roger Stafford

Subject: Warning: Explicit solution could not be found

From: Steven_Lord

Date: 29 Feb, 2012 14:39:31

Message: 4 of 5



"Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid> wrote in
message news:jik4fj$i5t$1@newscl01ah.mathworks.com...
> "Ashwin Balaji" <ashwinb1@umbc.edu> wrote in message
> <jijulv$1t9$1@newscl01ah.mathworks.com>...
>> I tried using solve command but turned me with an error "Warning:
>> Explicit solution could not be found". Eqn =
>> 2*N*a*(m - 1) + 2*a*h*so*w*(m - 1) - 4*a*h1*so*w*(m - 1) +
>> E*h1*m*w*tan(phi)*(((h - h1)/h1)^((n - 1)/n) + 1) -
>> E*h*m*w*tan(phi)*((h - h1)/h1)^((n - 1)/n)
> - - - - - - - - -
> You might try a change of variable to be solved for as
>
> x = (h-h1)/h1
>
> and substitute h/(x+1) in place of h1 everywhere to see if 'solve' might
> be able to handle that. However it is unlikely that would work either.
> If not, you had better use a numerical method such as 'fzero' which could
> provide solutions if given the numerical values of the other variables.

Even substituting in numeric values for some of the variables with SUBS
might help SOLVE better handle the equation.

--
Steve Lord
slord@mathworks.com
To contact Technical Support use the Contact Us link on
http://www.mathworks.com

Subject: Warning: Explicit solution could not be found

From: Roger Stafford

Date: 29 Feb, 2012 18:39:12

Message: 5 of 5

"Steven_Lord" <slord@mathworks.com> wrote in message <jildb3$j18$1@newscl01ah.mathworks.com>...
> Even substituting in numeric values for some of the variables with SUBS
> might help SOLVE better handle the equation.
- - - - - - - - -
  Yes, it's a pet peeve of mine that people who present complicated equations to be solved with 'solve' ought to at least consolidate all their "known" parameters into a minimum set.

  In the case of the present equation the parameters, N, a, m, h, so, w, E, and tan(phi) can all be consolidated into just two parameters, a and b, and with the substitution I recommended the equation can be manipulated to become a much shorter

 x^(2^n-1) - (a*x+b)^n = 0.

As such I think it is clear that 'solve' is unlikely to produce an explicit solution to this equation (even if n is a positive integer and it is a polynomial) in terms of the elementary functions it is able to call upon, and in any case it is much easier for whoever undertakes to furnish help on the question to analyze it and explain the difficulties.

Roger Stafford

Tags for this Thread

No tags are associated with this thread.

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us