Re: How do I create a parametric expression?
- To: mathgroup at smc.vnet.net
- Subject: [mg68568] Re: How do I create a parametric expression?
- From: Bill Rowe <readnewsciv at earthlink.net>
- Date: Wed, 9 Aug 2006 23:57:09 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
On 8/9/06 at 4:19 AM, axlq at spamcop.net (axlq) 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.
ReplaceAll (./) seems to work, i.e.,
In[5]:=
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));
In[6]:=
expr /. Sqrt[a^2 + (q - z)^2] -> R
Out[6]=
-(((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])/
(8*Pi*w*(a^2 + (q - z)^2)^(5/2)))
Of course this doesn't replace (a^2 + (q - z)^2)^(5/2) with R^5
That could be done as by modifying the replacement rule, i.e.,
In[7]:=
expr /. a^2 + (q - z)^2 -> R^2
Out[7]=
-((1/(8*Pi*(R^2)^(5/2)*w))*((2*n + 1)*
((k^2*a^4 + (k^2*(q - z)^2 - 1)*a^2 + 2*(q - z)^2)*
Cos[k*Sqrt[R^2]] - k*Sqrt[R^2]*(a^2 - 2*(q - z)^2)*
Sin[k*Sqrt[R^2]])*Sin[((2*n + 1)*Pi*z)/L]))
This will leave terms like Sqrt[R^2] which can be eliminated using PowerExpand. However, the transformation made by PowerExpand isn't valid for all possible values of the variables
--
To reply via email subtract one hundred and four