MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Problem with Patterns and Integrate

  • To: mathgroup at smc.vnet.net
  • Subject: [mg123252] Re: Problem with Patterns and Integrate
  • From: Bill Rowe <readnews at sbcglobal.net>
  • Date: Tue, 29 Nov 2011 07:04:40 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com

On 11/28/11 at 5:53 AM, ejmcinerney at gmail.com (Jack McInerney) wrote:

>There is something about using patterns that I don't understand, and
>am hoping someone can shed some light.  Here is an example of my
>problem.  Say I have a function f[x] and I take the derivative of
>it. I can then integrate it and get f[x] back:

>In[167]:= expr = D[ f[x], x ] Out[167]= f=E2=80=B2[x]

>In[168]:= Integrate[expr, x] Out[168]= f[x]

>If I use a ReplaceAll and a pattern to do the integration, the
>Integrate function treats f'[x] as a constant and returns the wrong
>answer:

>In[169]:= expr /. func_ ->  Integrate[func,x] Out[169]= x
>f=E2=80=B2[x]

>Any thoughts as to what I am doing wrong?

Yes, for this application you need to use RuleDelayed (:>)
instead of what you did. The key is when the rule is evaluated.
When you use -> the Integrate[func,x] is evaluated immediately
to func x and the replacement rule is equivalent to func_->func x.

Instead, if you use RuleDelayed (:>) evaluation of
Integrate[func,x] takes place after f'[x] is substituted for
func and you get the result you were looking for.




  • Prev by Date: Re: Problem with Patterns and Integrate
  • Next by Date: Re: import data problem
  • Previous by thread: Re: Problem with Patterns and Integrate
  • Next by thread: import data problem