Mathematica: Nested User defined function

  • Context: Mathematica 
  • Thread starter Thread starter Saladsamurai
  • Start date Start date
  • Tags Tags
    Function Mathematica
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
2 replies · 4K views
Saladsamurai
Messages
3,009
Reaction score
7
Hello :smile: 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][M_][/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;
 
Physics news on Phys.org
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;