0

I have this expression (see below for context):

6.79018*10^-9/f0 - (2.16138*10^-9 ArcTan[Sqrt[Tan[4.62667*10^8 d f0]^2]])/f0

and want to solve it for f0.

$d$, $l$, and $f0$ are real positive numbers.

Why can't Mathematica solve it by:

Solve[
  l == 6.79018*10^-9/f0 - (2.16138*10^-9 ArcTan[Sqrt[Tan[4.62667*10^8 d f0]^2]])/f0,
  f0
]

Context

The following two equations need to be solved for f0 (dependent on d and l) because I need a contour plot of x axis d, y axis l, and contour f0.

 d = 2.16138*10^-9/f0 * ArcTan[Sqrt[ZL/50]]

 l = 6.79018*10^-9/f0 - (2.16138*10^-9 ArcTan[ZL/(Sqrt[50ZL])])/f0

My idea is:

  1. solve d for ZL (worked)
  2. replace ZL in l with the solution of 1. (worked)
  3. solve new l for f0. (Error)

d and l are actual lengths (real, positive) and f0 is a frequency of about 6-6.3Ghz when d=0.0053-0.0055 and l = 0.0049-0.0051

enter image description here

I made the assumption that ZL - Z0 = ZL. As ZL >> Z0. If Mathematica can manage that without the assumption it would be ever better.

The expressions above show original formula. With

Z0 = 50 (standart characteristic impedance of measurement devices).

$$ \beta = 2\pi \sqrt{4.88}f_0 / c $$ $$ \beta = 2\pi / \lambda $$

A reference would be this dissertation: (p.48) but beta is defined by some own measurements.

mggiable
  • 23
  • 3

2 Answers2

3

Updated based on the following formulas provided as additional clarification:

enter image description here

Beta = 2 Pi / Lambda = 2 Pi Sqrt[4.88] f / c
Z0 = 50 and ZL>>Z0

Solved:

 Solve[{dvar == 1/((2 Pi)/wL) ArcTan[Sqrt[ZL/50]], 
  lvar == wL/2 - 1/((2 Pi)/wL) ArcTan[(ZL)/Sqrt[ZL 50]]}, {wL, ZL}]

{{wL -> 2*(dvar + lvar), ZL -> 50 Tan[(dvar Pi)/(dvar + lvar)]^2}}

v = 299792458/Sqrt[4.88];
ContourPlot[
 f0[dvar_, lvar_] = v/(2 (dvar + lvar)), {dvar, 0, 
  0.06}, {lvar, 0, 0.06}, PlotLegends -> Automatic]
ContourPlot[
 Z[dvar_, lvar_] = 50 Tan[(dvar Pi)/(dvar + lvar)]^2, {dvar, 0, 
  0.06}, {lvar, 0, 0.06}, PlotLegends -> Automatic]

enter image description here

Young
  • 7,495
  • 1
  • 20
  • 45
0

For such complicated functions you can use FindRoot over a range of your parameters to get an idea.

data = Flatten[Table[{10^8 l, 10^8 d,
 f0 /. FindRoot[l == 6.79018*10^-9/f0 
        - (2.16138*10^-9 ArcTan[Sqrt[Tan[4.62667*10^8 d f0]^2]])/f0, {f0, 0.5}]}
, {l, 2. 10^-8, 50. 10^-8, 10^-8}, {d, 2. 10^-8, 50. 10^-8, 10^-8}], 1];

ListPlot3D[data, AxesLabel -> {"l 10^-8", "d 10^-8", "f0"}]

enter image description here

Sumit
  • 15,912
  • 2
  • 31
  • 73