MathGroup Archive 2000

[Date Index] [Thread Index] [Author Index]

Search the Archive

Pattern Matching

  • To: mathgroup at smc.vnet.net
  • Subject: [mg23826] Pattern Matching
  • From: "Johannes Ludsteck" <ludsteck at zew.de>
  • Date: Sat, 10 Jun 2000 03:00:46 -0400 (EDT)
  • Organization: Zentr. f. Europ. Wirtschaftsforsch
  • Sender: owner-wri-mathgroup at wolfram.com

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: Levenberg-Marquardt ?
  • Next by Date: First Order Differential Equation
  • Previous by thread: Re: PLEASE HELP!! Need to change symbols in LinearLogListPlot
  • Next by thread: Re: Pattern Matching