# Plot3D unable to understand input function [closed]

I'm attempting to plot the Wigner Function of the Morse Oscillator defined as

f[λ_, m_, n_, y_, k_] =
(2/Pi)N1[λ, n] N1[λ, m]ξ^(2λ - m - n - 1)*
Sum[Sum[b[λ, m, r]b[λ, n, s]ξ^(r + s)*
BesselK[m - n - r + s + 2*I*k, ξ], {s, 0, n}], {r, 0, m}]


where

N1[λ_, n_] =  Sqrt[(2*λ - 2 n - 1)*Gamma[n + 1]/Gamma[2*λ - n]]

b[λ_, n_, j_] = (-1)^j*(1/j!)*Gamma[2*λ - n]/(Gamma[2*λ -
2 n + j]*Gamma[n - j + 1])

ξ = 2*λ*Exp[-y]


I found that if I use the function f in Mathematica's Plot3D, I get an error:

However, if I first evaluate f[1,0,0,y,k], and then plug the result into Plot3D, I get:

Why does Mathematica have trouble plotting f[1,0,0,y,k] if I plug it directly into Plot3D, but has no trouble if I first evaluate f[1,0,0,y,k]? Is there a way for Mathematica to understand Plot3D[f[1,0,0,y,k],{y,-3,3},{k,-3,3}]? I want Mathematica to plot the function automatically without me having to first evaluate the function and then copy and paste the output into Plot3D. For example, one thing I'd like to do is Manipulate[Plot3D[f[5,n,n,y,k],{y,-3,3},{k,-3,3}],{n,0,4,1}].

Thanks.

$\bf{\large{Edit}}$

Interestingly, for

f[1, 0, 0, 1., 1.]


I get:

0.468399 DifferenceRoot[   Function[{\[FormalY]$, \[FormalN]$}, {4 (-1 - \[FormalN]$+ 0) (-\[FormalN]$ + 0) 1^2 \[FormalY]$[\[FormalN]$] -
2 (-1 - \[FormalN]$+ 0) (\[FormalN]$ E^(2 1.) +
2 \[FormalN]$^2 E^(2 1.) + \[FormalN]$^3 E^(2 1.) +
2 I \[FormalN]$E^(2 1.) 1. + 2 I \[FormalN]$^2 E^(2 1.) 1. + \[FormalN]$E^(2 1.) 0 + \[FormalN]$^2 E^(2 1.) 0 - 2 E^(2 1.) 0 -
5 \[FormalN]$E^(2 1.) 0 - 3 \[FormalN]$^2 E^(2 1.) 0 -
4 I E^(2 1.) 1. 0 - 4 I \[FormalN]$E^(2 1.) 1. 0 - 2 E^(2 1.) 0 0 - 2 \[FormalN]$ E^(2 1.) 0 0 +
2 E^(2 1.) 0^2 +
2 \[FormalN]$E^(2 1.) 0^2 - \[FormalN]$ E^(2 1.)
r - \[FormalN]$^2 E^(2 1.) r + 2 E^(2 1.) 0 r + 2 \[FormalN]$ E^(2 1.) 0 r + 2 E^(2 1.) +
4 \[FormalN]$E^(2 1.) + 2 \[FormalN]$^2 E^(2 1.) +
4 I E^(2 1.) 1. + 4 I \[FormalN]$E^(2 1.) 1. + 2 E^(2 1.) 0 + 2 \[FormalN]$ E^(2 1.) 0 - 2 E^(2 1.) 0 -
2 \[FormalN]$E^(2 1.) 0 - 2 E^(2 1.) r - 2 \[FormalN]$ E^(2 1.) r - 2 \[FormalN]$1^2 + 2 0 1^2) \[FormalY]$[
1 + \[FormalN]$] + (1 + \[FormalN]$) E^(
2 1.) (-\[FormalN]$+ 2 0 - 2 1) (4 + 7 \[FormalN]$ +
3 \[FormalN]$^2 + 4 I 1. + 4 I \[FormalN]$ 1. + 2 0 +
2 \[FormalN]$0 - 8 0 - 6 \[FormalN]$ 0 - 4 I 1. 0 -
2 0 0 + 2 0^2 - 2 r - 2 \[FormalN]$r + 2 0 r + 4 1 + 2 \[FormalN]$) \[FormalY]$[ 2 + \[FormalN]$] + (1 + \[FormalN]$) (2 + \[FormalN]$) E^(
2 1.) (-1 - \[FormalN]$+ 2 0 - 2 1) (-\[FormalN]$ + 2 0 -
2 1) \[FormalY]$[3 + \[FormalN]$] == 0, \[FormalY]$[0] == 0, \[FormalY]$[1] == BesselK[2 I 1. + 0 - 0 - r, 2 E^-1.]/(
Gamma[1 + 0] Gamma[-2 0 + 2 1]), \[FormalY]\$[2] ==
BesselK[2 I 1. + 0 - 0 - r, 2 E^-1.]/(
Gamma[1 + 0] Gamma[-2 0 + 2 1]) + (
2 E^-1. 0 BesselK[1 + 2 I 1. + 0 - 0 - r,
2 E^-1.])/((2 0 - 2 1) Gamma[1 + 0] Gamma[-2 0 + 2 1])}]][1]


However, for

f[1, 0, 0, 1, 1]


I get:

(4*BesselK[2*I, 2/E])/(E*Pi)


## closed as off-topic by user9660, MarcoB, m_goldberg, Yves Klett, EdmundMay 24 '16 at 11:33

This question appears to be off-topic. The users who voted to close gave this specific reason:

• "This question arises due to a simple mistake such as a trivial syntax error, incorrect capitalization, spelling mistake, or other typographical error and is unlikely to help any future visitors, or else it is easily found in the documentation." – Community, MarcoB
If this question can be reworded to fit the rules in the help center, please edit the question.

• Please post copyable code. – Sjoerd C. de Vries Jul 18 '14 at 14:51
• If pre-evaluation works, an easy workaround should be Plot3D[Evaluate@f[1,0,0,y,k], {y,-3,3}, {k,-3,3}]. While that doesn't answer your question, it might solve your problem. – celtschk Jul 18 '14 at 15:12
• In the signature of f there should be a _ following the m. This may not be your problem of course. – Ymareth Jul 18 '14 at 15:14
• BTW, what do you get for f[1,0,0,1.,1.]? – celtschk Jul 18 '14 at 15:19
• I'm voting to close this question as off-topic because it is too localized; i.e, it applies only to the local situation and needs of its poster and answers will not benefit others. – m_goldberg May 23 '16 at 14:12

## SetDelayed

Just inserted some SetDelayed assignments. Thought the 3rd one (xsi) gave reason for messages. It works fine now.

Clear@"*"

N1[λ_, n_] :=
Sqrt[(2*λ - 2 n - 1)*Gamma[n + 1]/Gamma[2*λ - n]]

b[λ_, n_, j_] := (-1)^j*(1/j!)*
Gamma[2*λ - n]/(Gamma[2*λ - 2 n + j]*
Gamma[n - j + 1])
ξ[λ_, y_] := 2*λ*Exp[-y]

f[λ_, m_, n_, y_, k_] := (2/Pi)*N1[λ, n] *
N1[λ, m]*ξ[λ, y]^(2 λ - m - n - 1)*
Sum[Sum[b[λ, m, r]*
b[λ, n, s]*ξ[λ, y]^(r + s)*
BesselK[m - n - r + s + 2*I*k, 2*λ*Exp[-y]], {s, 0,
n}], {r, 0, m}]

Plot3D[f[1, 0, 0, y, k], {y, -3, +3}, {k, -3, +3}]
`