Re: Problems with With/Block/Module functions
- To: mathgroup at smc.vnet.net
- Subject: [mg64269] Re: Problems with With/Block/Module functions
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Wed, 8 Feb 2006 06:29:53 -0500 (EST)
- Organization: The Open University, Milton Keynes, UK
- References: <dsccna$pae$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Mukhtar Bekkali wrote: > Hi: > > I want to use local assignment done for a subscripted variable, where > x1 is ought to be read as x subscript 1, and evaluate at local values > function g[x1] and use the result later on. My code (not actual, just > an example) is as follows: > > x1=0; > With[{x1=1},y=g[x1]] (* is some specific arbitrary function, say x1^2 > *) > y > > My error message is "Local variable specification {x1=0} contains x1=0 > which is an assignment to x1; only assignments to symbols are allowed" > Where on earth does Mathematica see a function in x1. To me this is > just a symbol. Please advise on a workaround. Thanks. > Hi Mukhtar, You must use the command Symbolize (from the palette) from the package Notation to transform x_1 in a symbol. See http://documents.wolfram.com/mathematica/Demos/Notations/Functions/NotationDefinitionSymbolize.html In[1]:= Needs["Utilities`Notation`"] In[2]:= Symbolize[NotationBoxTag[\(x\_1\)]] In[3]:= x\[UnderBracket]Subscript\[UnderBracket]1 = 0; With[{x\[UnderBracket]Subscript\[UnderBracket]1 = 1}, y = g[x\[UnderBracket]Subscript\[UnderBracket]1]] Out[4]= g[1] Best regards, /J.M.