2
$\begingroup$

Hopefully the title depicts what I am trying to do.

Below is a figure of my calculations that is shown in logarithmic scale in the x-axis. I am trying to find a way to find the intersection point at y = 0 (the purple line). It would be appreciative if I could get your input into how to find the intersection point, or how to work around it.

Here is my code:

ϵp = 2.6;
σp = 10000;

ϵm = 6;
σm = 0.01;

ϵp1[w_] := ϵp - (\[ImaginaryJ]*σp/w);

ϵm1[w_] := ϵm - (\[ImaginaryJ]*σm/w);

Figure = LogLinearPlot[{Re[(ϵp1[w] - ϵm1[
        w])/(ϵp1[w] + (2 ϵm1[w]))], 0}, {w, 0.01, 
   100000000000000000000000}, 
  PlotRange -> {{0.01, 10000000000}, {-0.5, 1.3}}, Frame -> True, 
  FrameLabel -> {"ω [rad/s]", "Re[K(ω)]"}, 
  LabelStyle -> Directive[FontSize -> 15]]

Export["Figure.png", Figure]

Solve[Re[(ϵp1[w] - ϵm1[w])/(ϵp1[
       w] + (2 ϵm1[w]))] == 0, w]

I have tried using Solve[] function, but I suspect that unless I change to semi-log data for w somehow, this method will not work.

Please let me know if you require additional information. Any comments or further discussion would be greatly appreciated.

Tat

enter image description here

$\endgroup$
0

2 Answers 2

3
$\begingroup$

Use ComplexExpand

ϵp = 26/10;
σp = 10000;

ϵm = 6;
σm = 1/100;

ϵp1[w_] := ϵp - (I*σp/w);

ϵm1[w_] := ϵm - (I*σm/w);

soln = w /. 
  Solve[{ComplexExpand[
        Re[(ϵp1[w] - ϵm1[w])/(ϵp1[
             w] + (2 ϵm1[w]))]] == 0 // Simplify, w > 0}, 
    w][[1]]

(*  (9*Sqrt[6172845679/2482])/10  *)

% // N

(*  1419.33  *)

Figure = LogLinearPlot[{Re[(ϵp1[w] - ϵm1[
        w])/(ϵp1[w] + (2 ϵm1[w]))], 0}, {w, 0.01, 
   100000000000000000000000}, 
  PlotRange -> {{0.01, 10000000000}, {-0.5, 1.3}}, Frame -> True, 
  FrameLabel -> {"ω [rad/s]", "Re[K(ω)]"}, 
  LabelStyle -> Directive[FontSize -> 15], 
  Epilog -> {Red, AbsolutePointSize[4], 
    Tooltip[Point[{Log[soln], 0}], {soln // N, 0}]}]

enter image description here

$\endgroup$
1
  • $\begingroup$ Thank you, Bob. It helped alot. $\endgroup$
    – Tat
    Apr 29, 2016 at 22:14
1
$\begingroup$

Since you've plotted it already, and know the approximate solution (around 1000), you can give that as a guess to FindRoot,

FindRoot[
 Re[(ϵp1[w] - ϵm1[w])/(ϵp1[
       w] + (2 ϵm1[w]))] == 0, {w, 1000}]
(* {w -> 1419.33} *)
$\endgroup$
1
  • $\begingroup$ Thank you, Jason. That's a nice way of doing it. $\endgroup$
    – Tat
    Apr 29, 2016 at 22:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.