# Mathematica: Nested User defined function

• Mathematica
Hello I am a total amateur here and can't seem to get this to work: I have a function beta[M, θ] that I am trying to define. beta is a nasty equation that is way too many lines for me to input at once, so I tried to break it up into pieces. However, the part that is showing up in red is giving me trouble. I haven't even gotten to the beta part of the code, but I expect it will give me the same problem.

I think you can see what I am trying to here. How can I get around the "scope" issue that Mathematica is giving me?

thanks!

Code:
lambda[M_, \[Theta]_] := ((M^2 - 1)^2 -
3*(1 + 0.2 M^2) (1 + 1.2 M^2)*Tan[\[Theta]]^2)^.5;

X[M_, \[Theta]_] := ((M^2 - 1)^3 -
9*(1 + 0.2 M^2)*(1 + 0.2 M^2 + 2.4/4 M^4) Tan[\[Theta]]^2)/
lambda[B][COLOR="Red"][M_][/COLOR][/B]^3;

beta[M_, \[Theta]_] :=
ArcTan[ (M^2 - 1 + 2 lambda*Cos[(4 Pi + ArcCos[X])/3])/(
3*(1 + .2 M^2)*Tan[\[Theta]])]*180/Pi;

Meh ... This works!

Code:
Clear["Global*"]

lambda[MM_, \[Theta]\[Theta]_] := ((MM^2 - 1)^2 -
3*(1 + 0.2 MM^2) (1 + 1.2 MM^2)*Tan[\[Theta]\[Theta]]^2)^.5;

X[MMM_, \[Theta]\[Theta]\[Theta]_] := ((MMM^2 - 1)^3 -
9*(1 + 0.2 MMM^2)*(1 + 0.2 MMM^2 +
2.4/4 MMM^4) Tan[\[Theta]\[Theta]\[Theta]]^2)/
lambda[MMM, \[Theta]\[Theta]\[Theta]]^3;
beta[M_, \[Theta]_] :=
ArcTan[ (M^2 - 1 +
2 lambda[M, \[Theta]]*Cos[(4 Pi + ArcCos[X[M, \[Theta]]])/3])/(
3*(1 + .2 M^2)*Tan[\[Theta]])]*180/Pi;`

Dale
Mentor
2020 Award
Do you understand why the second one worked and the first one didn't?

Last edited: