Message Boards Message Boards

0
|
6713 Views
|
4 Replies
|
0 Total Likes
View groups...
Share
Share this post:

Find transcendental equation's roots?

Posted 8 years ago

Is there any clever solution to find all the roots for a transcendental equation in a specific range?

Clear["Global`*"]

k = Sqrt[c^2 - (137.036)^4]/(137.036);
p = Sqrt[(c + (137.036)^2 - va) (c - (137.036)^2 - va)]/(137.036);
\[Beta] = Sqrt[(-(137.036)^2 - vb + c)/((137.036)^2 - vb + c)];
\[Alpha] = Sqrt[(c - (137.036)^2)/(c + (137.036)^2)];
\[Gamma] = Sqrt[(-(137.036)^2 - va + c)/((137.036)^2 - va + c)];
a = 0.01;
b = 0.02;
vb = 50000;(\[Alpha] + \[Gamma])^2 {(\[Alpha] + \[Beta])^2 E^(
      2 I (k (a - b) - 
         p a)) - (\[Alpha] - \[Beta])^2 E^(-2 I (k (a - b) - 
         p a))} + (\[Alpha] - \[Gamma])^2 {(\[Alpha] - \[Beta])^2 \
E^(-2 I (k (a - b) + p a)) - (\[Alpha] + \[Beta])^2 E^(
      2 I (k (a - b) + p a))}-2 (\[Alpha]^2 - \[Beta]^2) (\[Alpha]^2 - \[Gamma]^2) {E^(2 I (p a)) - 
         E^(-2 I (p a))}==0       , 
{va, 0, 50000}, {c, 30000, 70000}]
Attachments:
POSTED BY: Hadi Tokme
4 Replies
Posted 3 years ago

Hi Hadi Tokme, have you found a solution to the problem / question you asked?

POSTED BY: Nam Nam

I meant my code to be preceded by your variable definitions

k = Sqrt[c^2 - (137.036)^4]/(137.036);
p = Sqrt[(c + (137.036)^2 - va) (c - (137.036)^2 - va)]/(137.036);
\[Beta] = Sqrt[(-(137.036)^2 - vb + c)/((137.036)^2 - vb + c)];
\[Alpha] = Sqrt[(c - (137.036)^2)/(c + (137.036)^2)];
\[Gamma] = Sqrt[(-(137.036)^2 - va + c)/((137.036)^2 - va + c)];
a = 0.01;
b = 0.02;
vb = 50000;
POSTED BY: Gianluca Gorni

In the equation you are using curly braces {} where I would expect to see parentheses (). In Mathematica syntax curly braces {} are used to delimit lists, not to signal the order of algebraic operations. In your case this is not causing problems. I made a few attempts to get a full symbolic solution, but did not get any. However, with ContourPlot you get an idea of the set of solutions, which seems the union of one-dimensional curves:

ContourPlot[
 ReIm[(\[Alpha] + \[Gamma])^2 ((\[Alpha] + \[Beta])^2 E^(2 I (k (a - 
                b) - p a)) - (\[Alpha] - \[Beta])^2 E^(-2 I (k (a - 
                b) - p a))) + (\[Alpha] - \[Gamma])^2 ((\[Alpha] - \
\[Beta])^2 E^(-2 I (k (a - b) + 
             p a)) - (\[Alpha] + \[Beta])^2 E^(2 I (k (a - b) + 
             p a))) - 
    2 (\[Alpha]^2 - \[Beta]^2) (\[Alpha]^2 - \[Gamma]^2) (E^(2 I (p \
a)) - E^(-2 I (p a)))] == {0, 0},
 {va, 0, 50000}, {c, 30000, 70000}, PlotPoints -> 500]

With FindRoot you can close in on some points.

POSTED BY: Gianluca Gorni
Posted 8 years ago

Dear Gianluca, i tried what you said but there was no answer from Mathematica! Please check this page cause i have same problem!

POSTED BY: Hadi Tokme
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract