# Solving equation containing ArcTan terms

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

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.

• In general, a transcendental equation like yours does not admit a closed form solution. You might want to try FindRoot[] with a good initial guess instead. Commented Jun 17, 2016 at 13:29
• Thanks for the fast reply! Unfortunately I cant figure it out. I edited my post and describe the original problem. It seems to be a simple task to solve two equations but it wont work. Thanks! Commented Jun 17, 2016 at 14:32
• I have no time to answer your question right now however I recommend to take a look at this post: Solve symbolically a transcendental trigonometric equation and plot its solutions. If you read it carefully you'll understand your actual problem and find an appropriate solution. Commented Jun 17, 2016 at 15:09
• @mggiable Cab you tell me what this is specifically calculating and any references to the source of the equations? That will help me refine my answer. Commented Jun 17, 2016 at 15:47
• I took the approach of eliminating f0 and trying to solve for ZL -- you can readily show that there are no solutions. Commented Jun 17, 2016 at 15:59

Updated based on the following formulas provided as additional clarification:

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]


• Thank you sooooo soooo much!!! Thanks excatly what i needed! Commented Jun 19, 2016 at 16:55

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"}]