Re: Rule
- To: mathgroup at smc.vnet.net
- Subject: [mg108473] Re: Rule
- From: dh <dh at metrohm.com>
- Date: Fri, 19 Mar 2010 02:48:17 -0500 (EST)
- References: <hnss20$5q5$1@smc.vnet.net>
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>