Re: Expanding Integrals with constants and 'unknown'
- To: mathgroup at smc.vnet.net
- Subject: [mg110070] Re: Expanding Integrals with constants and 'unknown'
- From: Mark McClure <mcmcclur at unca.edu>
- Date: Tue, 1 Jun 2010 04:21:08 -0400 (EDT)
On Sun, May 30, 2010 at 11:45 PM, Jesse Perla <jesseperla at gmail.com> wrote:
> I have an integral involving constants and an 'unknown' function. I
> would like to expand it out to solve for the constants and keep the
> integrals of the unknown function as expected.
> i.e.
> Integrate[a + z + s[z], {z, clow, chigh}]
>
> I want to get out:
> (a*chigh + chigh^2/2 - a*clow - clow^2/2) + Integrate[s[z], {z, clow,
> chigh}]
You could write a function that is explicitly linear but calls
Integrate otherwise. Here's a small modification of your example that
also illustrates constant multiples.
In[70]:== Clear[int];
int[expr_Plus, {var_, low_, high_}] :==
Map[int[#, {var, low, high}] &, expr];
int[expr_Times, {var_, low_, high_}] :== With[
{c == Select[expr, FreeQ[#, var] &]},
c*int[expr/c, {var, low, high}]];
int[expr_, {var_, low_, high_}] :== Integrate[expr,
{var, low, high}];
int[a + z + 5 c*s[z], {z, clow, chigh}] // InputForm
Out[74]//InputForm==
chigh^2/2 + a*(chigh - clow) - clow^2/2 +
5*c*Integrate[s[z], {z, clow, chigh}]
Mark McClure