MATLAB: Undefined Function or Variable but the variable is in fact Defined

MATLABundefined variable

So clearly k is defined, but Matlab keeps telling me it is not defined. What is going on?
>> k=1
k =
1
>> f_n
f_n =
@(r,n)sqrt(pi/(2*k*r))*besseli(n+.5,k*r)
>> f_n(1,1)
Undefined function or variable 'k'.
Error in @(r,n)sqrt(pi/(2*k*r))*besseli(n+.5,k*r)

Best Answer

The function was defined before k. When the anonymous function is created, it grabs a static snapshot of the workspace and does not update. To incorporate k, just rerun the command to create the function handle.