Re: small question

*To*: mathgroup at smc.vnet.net*Subject*: [mg74904] Re: small question*From*: dh <dh at metrohm.ch>*Date*: Tue, 10 Apr 2007 06:03:03 -0400 (EDT)*References*: <evd3or$5fo$1@smc.vnet.net>

Hi, here is a rule that replaces N1 x by a new symbol: rules = {(n_Symbol)*(x_Symbol) :> Symbol[StringJoin["N", SymbolName[x], StringDrop[SymbolName[n], 1]]] /; StringMatchQ[SymbolName[n],"N*"]} However, there is a pitfall. Ther rule assumes that the constant and variable are directly multiplied in your expression, that is like e.g.: N1 x + N2 y, but not like x(N1 + N2) or N1(x+y). Daniel KFUPM wrote: > Dear Group > > I have two variables multiplied by each other > > N1 x (N1 times x) which is a part of an equation. > > What i want to do is to replace this multiplication by Nx1 (one > variable) and i want to do this automatically using Mathematica, > because i have a huge number of such terms, for example, N2 y, N3 z, > N4 x, N5 y.... etc. > > Thereofore, i need to get this transformation: > > N1 x ------> Nx1 > N2 y ------> Ny2 > N3 z ------> Nz3 > and so on. > > Please notice that the letter N doesn't change only numbers(1,2,...) > and (x,y,z....) do. > > > Any help in this regard is highly appreciated. > >