Mathematica: Nested User defined function

  • Mathematica
  • Thread starter Saladsamurai
  • Start date
  • #1
3,003
3
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][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;
 

Answers and Replies

  • #2
3,003
3
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;
 
  • #3
Dale
Mentor
Insights Author
2020 Award
31,309
8,089
Do you understand why the second one worked and the first one didn't?
 
Last edited:

Related Threads on Mathematica: Nested User defined function

Replies
1
Views
2K
Replies
0
Views
820
Replies
3
Views
2K
Replies
1
Views
2K
Replies
2
Views
4K
Replies
6
Views
7K
Replies
3
Views
2K
Replies
2
Views
2K
Top