nested SetDelayed

*To*: mathgroup at smc.vnet.net*Subject*: [mg113358] nested SetDelayed*From*: O <kakabomba at gmail.com>*Date*: Mon, 25 Oct 2010 06:40:33 -0400 (EDT)

hello, maybe somebody can explain what i'm doing wrong in this SIMPLE example: In[1] := f[v_, k_] := Sin[v*k] In[2] := test[v_] := NIntegrate[f[v, k], {k, 0, Pi}] In[3] := FindRoot[test[x] == 1, {x, 1}] I have NIntegrate errors: NIntegrate::inumr: The integrand Sin[k x] has evaluated to non- numerical values for all sampling points in the region with boundaries {{0,3.14159}}. >> NIntegrate::inumr: The integrand k Cos[k x] has evaluated to non- numerical values for all sampling points in the region with boundaries {{0,3.14159}}. >> NIntegrate::inumr: The integrand k Cos[k x] has evaluated to non- numerical values for all sampling points in the region with boundaries {{0,3.14159}}. >> General::stop: Further output of NIntegrate::inumr will be suppressed during this calculation. >> and CORRECT answer: Out[3] = {x -> 1.37697} Why expression `test` is evaluated with nonnumerical arguments?? I guess my VisualBasic oriented brain can't understand how SetDelayed work and how i should use it. Thanks