Re: How do I create a parametric expression?
- To: mathgroup at smc.vnet.net
- Subject: [mg68562] Re: How do I create a parametric expression?
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Wed, 9 Aug 2006 23:56:59 -0400 (EDT)
- Reply-to: hanlonr at cox.net
- Sender: owner-wri-mathgroup at wolfram.com
expr=-((1 + 2*n)*((a^4*k^2 + a^2*(-1 + k^2*(q - z)^2) + 2*(q - z)^2)
*Cos[k*Sqrt[a^2 + (q - z)^2]] - k*(a^2 - 2*(q - z)^2)
*Sqrt[a^2 + (q - z)^2]*Sin[k*Sqrt[a^2 + (q - z)^2]])
*Sin[((1 + 2*n)*Pi*z)/L])/(8*Pi*w*(a^2 + (q - z)^2)^(5/2));
expr2=Simplify[expr/.a^2+(q-z)^2:>R^2,R>0]
-((1/(8*Pi*R^5*w))*((2*n + 1)*
((k^2*a^4 + (k^2*(q - z)^2 - 1)*a^2 + 2*(q - z)^2)*
Cos[k*R] - k*R*(a^2 - 2*(q - z)^2)*Sin[k*R])*
Sin[((2*n + 1)*Pi*z)/L]))
expr3=Simplify[expr/.(q-z)^2:>R^2-a^2,R>0]
-((1/(8*Pi*R^5*w))*((2*n + 1)*
(((k^2*R^2 - 3)*a^2 + 2*R^2)*Cos[k*R] +
k*R*(2*R^2 - 3*a^2)*Sin[k*R])*
Sin[((2*n + 1)*Pi*z)/L]))
Bob Hanlon
---- axlq <axlq at spamcop.net> wrote:
>
> I'm trying to figure out how to simplify a large expression so that it's
> expressed in terms of a sub-expression that's factored into the larger
> one.
>
> My expression looks like this:
>
> -((1 + 2*n)*((a^4*k^2 + a^2*(-1 + k^2*(q - z)^2) + 2*(q - z)^2)
> *Cos[k*Sqrt[a^2 + (q - z)^2]] - k*(a^2 - 2*(q - z)^2)
> *Sqrt[a^2 + (q - z)^2]*Sin[k*Sqrt[a^2 + (q - z)^2]])
> *Sin[((1 + 2*n)*Pi*z)/L])/(8*Pi*w*(a^2 + (q - z)^2)^(5/2))
>
> Now, I *know* there are places in there were Sqrt[a^2+(q-z)^2] occurs,
> either by itself or raised to various powers. If I want to define
>
> R:=Sqrt[a^2+(q-z)^2]
>
> ...then how can I make Mathematica re-state my expression in terms
> of R? The ReplaceRepated[] function doesn't seem to do the job.
>
> I need to do this because I am translating the expressions into
> Visual Basic code for an Excel application, and it would be nice to
> find groupings of terms repeated throughout the expression that I
> need to calculate only once.
>
> -Alex
>