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)

 採用された回答

Sean de Wolski
Sean de Wolski 2016 年 3 月 21 日

1 投票

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