|
[Date Index]
[Thread Index]
[Author Index]
Re: Pattern Matching
- To: mathgroup at smc.vnet.net
- Subject: [mg23847] Re: [mg23826] Pattern Matching
- From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
- Date: Mon, 12 Jun 2000 01:17:37 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
The problem is that Plus[Times[x[_], b[_]] ..] evaluates before the pattern
matching is performed and Plus disappears from the Pattern (Plus[a] gives
a):
In[6]:=
Plus[Times[x[_], b[_]] ..]
Out[6]=
b[_] x[_] ..
You have to prevent this from happening with HoldPattern:
In[7]:=
Plus[x[1] b[1] , x[2] b[2] ] /. HoldPattern[Plus[Times[x[_], b[_]] ..] ] ->
z
Out[7]=
z
Andrzej
--
Andrzej Kozlowski
Toyama International University, JAPAN
For Mathematica related links and resources try:
<http://www.sstreams.com/Mathematica/>
on 6/10/00 4:00 PM, Johannes Ludsteck at ludsteck at zew.de wrote:
> Dear Group Members,
> I would like to "find" and replace expressions with the simple
> structure x[1] b[1]+x[2] b2]+...+x[n] b[n]
> I tried to use the following replacement rule
> In[27]:= x[1] b[1] + x[2] b[2] /. Plus[Times[x[_], b[_]] ..] -> z
>
> Out[27]= b[1] x[1] + b[2] x[2] + b[3] x[3]
> Which didn't work (Out[27] should be z).
> Why?
> The following FullForm seems to give exactly the structure I used
> in my replacement rule.
>
> In[17]:=
> FullForm[x[1] b[1] + x[2] b[2] + x[3] b[3]]
> Out[17]//FullForm=
> Plus[Times[b[1], x[1]], Times[b[2], x[2]], Times[b[3], x[3]]]
>
> Even if this worked, my pattern wouldn't account for equal indices,
> i.e. it would match x[1] b[500]+x[12] b[3], even if it shouldn't.
>
> Any suggestions?
> Thanks,
> Johannes Ludsteck
>
>
> Johannes Ludsteck
> Centre for European Economic Research (ZEW)
> Department of Labour Economics,
> Human Resources and Social Policy
> Phone (+49)(0)621/1235-157
> Fax (+49)(0)621/1235-225
>
> P.O.Box 103443
> D-68034 Mannheim
> GERMANY
>
> Email: ludsteck at zew.de
>
Prev by Date:
Re: Re: How to plot...?
Next by Date:
Re: ContourPlot doesn't work properly?
Previous by thread:
Re: Pattern Matching
Next by thread:
Re: Pattern Matching
|