Undefined Function or Variable but the variable is in fact Defined

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)

 采纳的回答

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.

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 MATLAB 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by