Re: NIntegrate where terms of integrand have unknown constant coefficients
- To: mathgroup at smc.vnet.net
- Subject: [mg8954] Re: [mg8882] NIntegrate where terms of integrand have unknown constant coefficients
- From: Paul Abbott <paul at physics.uwa.edu.au>
- Date: Mon, 6 Oct 1997 01:59:22 -0400
- Organization: University of Western Australia
- Sender: owner-wri-mathgroup at wolfram.com
David Withoff wrote: > I would do this by defining your own function that performs the > symbolic linearity operations before calling NIntegrate, rather > than by redefining NIntegrate. For example > > In[1]:= int[p_Plus, q_] := Map[int[#, q] &, p] > > In[2]:= int[(p:c[_]) f_, q_] := p NIntegrate[f, q] > > In[3]:= int[c[1] x + c[2] x^2, {x, 0, 1}] > > Out[3]= 0.5 c[1] + 0.333333 c[2] > > This strategy could be made considerably more elaborate to do > almost anything that you might want. Another general and powerful way, is to use pattern-matching: In[1]:= f[n_][x_] = x^n; In[2]:= c[1] f[1][x] + c[2] f[2][x] /. c[n_] a_ :> c[n] NIntegrate[a, {x, 0, 1}] Out[2]= 0.5 c[1] + 0.333333 c[2] Cheers, Paul ____________________________________________________________________ Paul Abbott Phone: +61-8-9380-2734 Department of Physics Fax: +61-8-9380-1014 The University of Western Australia Nedlands WA 6907 mailto:paul at physics.uwa.edu.au AUSTRALIA http://www.pd.uwa.edu.au/~paul God IS a weakly left-handed dice player ____________________________________________________________________