Re: List manipulation?
- To: mathgroup at smc.vnet.net
- Subject: [mg128323] Re: List manipulation?
- From: awnl <awnl at gmx-topmail.de>
- Date: Sat, 6 Oct 2012 01:54:12 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <20121004034155.8617868D2@smc.vnet.net> <k4lvjt$d41$1@smc.vnet.net>
Hi, > > I got a problem with List manipulation. I have the following list item: > > a = -Subscript[50, 5] > > and I would like to change the value of 50 to 360-50 and also change the > sign to +. First I tried to change the sign and then the value and I got > an outcome I didn't understand. Doing the other way round I get the > outcome I expected. Does anybody know what the difference is? > > Here is the Example file: > http://dl.dropbox.com/u/4920002/Example.nb > > > > a = -Subscript[50, 5] > a[[2, 1]] = 360 - a[[2, 1]] > a[[1]] = -1*a[[1]] > a > > > b = -Subscript[50, 5] > b[[1]] = -1*b[[1]] > b[[1]] = 360 - b[[1]] > b what happens is that you change the OwnValue of b in place from Times[-1,Subscript[50,5]] to: Times[1,Subscript[50,5]] and finally to: Times[310,Subscript[50,5]] which you can check from looking at: OwnValues[b] // FullForm after every step. The subtlety is that in the second step the b[[1]] on the right hand side is evaluated. As usual the b itself is evaluated first, which will get rid of Times, and only after that Part ([[]]) actually is applied, which you can see from e.g.: b = -Subscript[50, 5] b[[1]] = -1*b[[1]] Trace[b[[1]]] hth, albert
- References:
- Deleting Palettes
- From: rchipman@optics.arizona.edu
- Deleting Palettes