Re: Rule
- To: mathgroup at smc.vnet.net
- Subject: [mg108556] Re: Rule
- From: Rui Rojo <rui.rojo at gmail.com>
- Date: Tue, 23 Mar 2010 04:23:15 -0500 (EST)
- References: <hnss20$5q5$1@smc.vnet.net> <4BA23E7A.9040501@metrohm.com>
Thanks a lot!
On Thu, Mar 18, 2010 at 11:53 AM, dh <dh at metrohm.com> wrote:
> Hi Rui,
> I think it is simplier to transfrom the expression before stuffing it into
> "FourierTransfrom".
> Here is a rule that transforms an expression according to your needs :
>
> rule = expr0_ /; (pos = Position[expr0, (k_ /; FreeQ[k = k, t]) t];
> Equal @@ Extract[expr0, pos]) :> (1/Abs[k] expr0 /. k t -> t);
>
> here is an example:
> Sin[k t] + (Cos[k t + 2])^2 /(1 + k t) /. rule
>
> If you want to include "FourierTransfrom" into the process it gets more
> complicated, because we must take care that the transfrom is not done too
> early:
>
> rule = HoldPattern[
> FourierTransform[expr1_, t,
> f] /; (pos = Position[expr1, (k_ /; FreeQ[k = k, t]) t];
> Equal @@ Extract[expr1, pos])] :>
> 1/Abs[k] FourierTransform[expr1 /. k t -> t, t, f/k];
>
> here is an example:
>
> expr = Sin[k t] + (Cos[k t + 2])^2 /(1 + k t);
> Hold[FourierTransform[expr0, t, f]] /. expr0 -> expr /.
> rule // ReleaseHold
> Daniel
>
> On 18.03.2010 10:33, Rui wrote:
>
>> I got surprised when I saw that my Mathematica 7 computed
>> FourierTransform[DiracComb[t], t, f] without trouble but couldn't deal
>> with
>> FourierTransform[DiracComb[2 t], t, f]
>>
>> So I thought about writing a rule that uses the property that the
>> F{x[k t]}[f] = 1/|k| F{x[t]}[f/k] (I think :P)
>>
>> In Mathematica's words:
>> FourierTransform[ expr_ , t_, f_] should be transformed, only if in
>> "expr" you can find aall "t"s multiplied by the same thing (let's call
>> it "k"), and that thing doesn't have "t"s inside, into
>> 1/Abs[k] FourierTrnasform[expr_ (* having replaced the k t by t *),
>> t, f/k]
>>
>> I'm a little lost. Even if I could find a way to do it, I wanna know
>> how you would do it, because I'm already thinking about complicated
>> stuff and it doesn't seem neither a too complex or too unusual
>> problem.
>>
>> Thanks ;)
>>
>>
>
> --
>
> Daniel Huber
> Metrohm Ltd.
> Oberdorfstr. 68
> CH-9100 Herisau
> Tel. +41 71 353 8585, Fax +41 71 353 8907
> E-Mail:<mailto:dh at metrohm.com>
> Internet:<http://www.metrohm.com>
>
>