Solving equations

1 view (last 30 days)
Rajat
Rajat on 20 Oct 2011
We have a critical equation
eqn=exp(-Ki*c)*(sin(c*k)*(sin(b*k)*(1/2*exp(Ki*b)*(exp(-Ki*a)*(1/2*cos(a*k) - 1/2/Ki*k*mb_star/mw_star*sin(a*k)) + Ki/mb_star*exp(-Ki*a)*(1/2/Ki*mb_star*cos(a*k) + 1/2/k*mw_star*sin(a*k))) + 1/2*exp(-Ki*b)*(exp(Ki*a)*(1/2*cos(a*k) - 1/2/Ki*k*mb_star/mw_star*sin(a*k)) - Ki/mb_star*exp(Ki*a)*(1/2/Ki*mb_star*cos(a*k) + 1/2/k*mw_star*sin(a*k)))) - k/mw_star*cos(b*k)*(1/2/Ki*mb_star*exp(Ki*b)*(exp(-Ki*a)*(1/2*cos(a*k) - 1/2/Ki*k*mb_star/mw_star*sin(a*k)) + Ki/mb_star*exp(-Ki*a)*(1/2/Ki*mb_star*cos(a*k) + 1/2/k*mw_star*sin(a*k))) - 1/2/Ki*mb_star*exp(-Ki*b)*(exp(Ki*a)*(1/2*cos(a*k) - 1/2/Ki*k*mb_star/mw_star*sin(a*k)) - Ki/mb_star*exp(Ki*a)*(1/2/Ki*mb_star*cos(a*k) + 1/2/k*mw_star*sin(a*k))))) + cos(c*k)*(cos(b*k)*(1/2*exp(Ki*b)*(exp(-Ki*a)*(1/2*cos(a*k) - 1/2/Ki*k*mb_star/mw_star*sin(a*k)) + Ki/mb_star*exp(-Ki*a)*(1/2/Ki*mb_star*cos(a*k) + 1/2/k*mw_star*sin(a*k))) + 1/2*exp(-Ki*b)*(exp(Ki*a)*(1/2*cos(a*k) - 1/2/Ki*k*mb_star/mw_star*sin(a*k)) - Ki/mb_star*exp(Ki*a)*(1/2/Ki*mb_star*cos(a*k) + 1/2/k*mw_star*sin(a*k)))) + k/mw_star*sin(b*k)*(1/2/Ki*mb_star*exp(Ki*b)*(exp(-Ki*a)*(1/2*cos(a*k) - 1/2/Ki*k*mb_star/mw_star*sin(a*k)) + Ki/mb_star*exp(-Ki*a)*(1/2/Ki*mb_star*cos(a*k) + 1/2/k*mw_star*sin(a*k))) - 1/2/Ki*mb_star*exp(-Ki*b)*(exp(Ki*a)*(1/2*cos(a*k) - 1/2/Ki*k*mb_star/mw_star*sin(a*k)) - Ki/mb_star*exp(Ki*a)*(1/2/Ki*mb_star*cos(a*k) + 1/2/k*mw_star*sin(a*k)))))) - Ki/mb_star*exp(-Ki*c)*(1/k*mw_star*cos(c*k)*(sin(b*k)*(1/2*exp(Ki*b)*(exp(-Ki*a)*(1/2*cos(a*k) - 1/2/Ki*k*mb_star/mw_star*sin(a*k)) + Ki/mb_star*exp(-Ki*a)*(1/2/Ki*mb_star*cos(a*k) + 1/2/k*mw_star*sin(a*k))) + 1/2*exp(-Ki*b)*(exp(Ki*a)*(1/2*cos(a*k) - 1/2/Ki*k*mb_star/mw_star*sin(a*k)) - Ki/mb_star*exp(Ki*a)*(1/2/Ki*mb_star*cos(a*k) + 1/2/k*mw_star*sin(a*k)))) - k/mw_star*cos(b*k)*(1/2/Ki*mb_star*exp(Ki*b)*(exp(-Ki*a)*(1/2*cos(a*k) - 1/2/Ki*k*mb_star/mw_star*sin(a*k)) + Ki/mb_star*exp(-Ki*a)*(1/2/Ki*mb_star*cos(a*k) + 1/2/k*mw_star*sin(a*k))) - 1/2/Ki*mb_star*exp(-Ki*b)*(exp(Ki*a)*(1/2*cos(a*k) - 1/2/Ki*k*mb_star/mw_star*sin(a*k)) - Ki/mb_star*exp(Ki*a)*(1/2/Ki*mb_star*cos(a*k) + 1/2/k*mw_star*sin(a*k))))) - 1/k*mw_star*sin(c*k)*(cos(b*k)*(1/2*exp(Ki*b)*(exp(-Ki*a)*(1/2*cos(a*k) - 1/2/Ki*k*mb_star/mw_star*sin(a*k)) + Ki/mb_star*exp(-Ki*a)*(1/2/Ki*mb_star*cos(a*k) + 1/2/k*mw_star*sin(a*k))) + 1/2*exp(-Ki*b)*(exp(Ki*a)*(1/2*cos(a*k) - 1/2/Ki*k*mb_star/mw_star*sin(a*k)) - Ki/mb_star*exp(Ki*a)*(1/2/Ki*mb_star*cos(a*k) + 1/2/k*mw_star*sin(a*k)))) + k/mw_star*sin(b*k)*(1/2/Ki*mb_star*exp(Ki*b)*(exp(-Ki*a)*(1/2*cos(a*k) - 1/2/Ki*k*mb_star/mw_star*sin(a*k)) + Ki/mb_star*exp(-Ki*a)*(1/2/Ki*mb_star*cos(a*k) + 1/2/k*mw_star*sin(a*k))) - 1/2/Ki*mb_star*exp(-Ki*b)*(exp(Ki*a)*(1/2*cos(a*k) - 1/2/Ki*k*mb_star/mw_star*sin(a*k)) - Ki/mb_star*exp(Ki*a)*(1/2/Ki*mb_star*cos(a*k) + 1/2/k*mw_star*sin(a*k))))))
the value of k is ((2*mw_star*E)^0.5)/hcut;
the value of Ki is ((2*mb_star*(v-E))^0.5)/hcut;
this equation is generated by consecutive multiplication of 8 matrices. Here all the variables are known, except E and b. I need to solve this equation and plot E versus b. Please help..
  9 Comments
Walter Roberson
Walter Roberson on 20 Oct 2011
This is pretty messy to solve when I guess at random values of E. It gets in to roots of polynomials in E and tan() and sin() and cos() of other polynomials in E in combination with v, and easily gets in to complex expressions. It also needs a fair bit of accuracy to deal with: some of the expressions cancel each other out to within the default floating point accuracy, requiring one to push up the digits in order to not end up with the expression mostly evaluating to r + i*infinity or infinity + i*infinity. A known v value would help confine the search a fair bit, as would information about whether we should expect E to be non-negative or real-valued (including negative), or complex valued. Are we intended to be seeking for one complex plot versus another?
Rajat
Rajat on 21 Oct 2011
yep, v have a known value.. assuming v has the value 1*10^-04

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 20 Oct 2011
Not a solution, but a more compact version:
eqn = (1 / 8) * (( - cos(2^(1 / 2) * (mw_star * E)^(1 / 2) * (c - b + a) / hcut) + cos(2^(1 / 2) * (mw_star * E)^(1 / 2) * ( - c + b + a) / hcut)) * ((mb_star - mw_star) * E + mw_star * v)^2 * (mw_star * E)^(1 / 2) * ( - mb_star * ( - v + E))^(1 / 2) * exp(( - c - b + a) * ( - 2 * mb_star * ( - v + E))^(1 / 2) / hcut) - 4 * exp( - (c - b + a) * ( - 2 * mb_star * ( - v + E))^(1 / 2) / hcut) * ((1 / 4) * ((mb_star - mw_star) * E + mw_star * v)^2 * (mw_star * E)^(1 / 2) * ( - mb_star * ( - v + E))^(1 / 2) * cos(2^(1 / 2) * (mw_star * E)^(1 / 2) * ( - c + b + a) / hcut) - (1 / 4) * ((mb_star^2 + mw_star^2 + 6 * mb_star * mw_star) * E^2 - 6 * mw_star * ((1 / 3) * mw_star + mb_star) * v * E + mw_star^2 * v^2) * (mw_star * E)^(1 / 2) * ( - mb_star * ( - v + E))^(1 / 2) * cos(2^(1 / 2) * (mw_star * E)^(1 / 2) * (c - b + a) / hcut) + ((mb_star + mw_star) * E - mw_star * v) * mw_star * ( - v + E) * mb_star * E * sin(2^(1 / 2) * (mw_star * E)^(1 / 2) * (c - b + a) / hcut))) / ((mb_star * v - mb_star * E)^(1 / 2) * (mw_star * E)^(1 / 2) * mw_star * ( - v + E) * mb_star * E)
  3 Comments
Walter Roberson
Walter Roberson on 20 Oct 2011
Odd, if I take the right hand side of this (i.e., solve assuming the expression is 0) and ask to solve it for E, then the answer Maple gives back is E, which is to say that Maple thinks that all values of E (except perhaps those that introduce singularities) lead to an expression value of 0. I have played a little and that doesn't seem plausible so far (but I haven't proven it to be incorrect.)
Walter Roberson
Walter Roberson on 21 Oct 2011
With the constants given above, if one substitutes in negative E such as E=-2, then one can do numeric solutions to find b. Finding analytic solutions is difficult, though, and is rather meaningless considering that most of the constants are expressed in floating point format rather than in analytic format.
As E approaches 0 from below, b approaches 2057.888774 -- which you would not be able to establish with as little as 50 digits of precision.
The behaviour as E gets more negative takes longer to determine.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!