MathGroup Archive 2013

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

Search the Archive

Re: how to set initial values to symbolic variable array?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg129976] Re: how to set initial values to symbolic variable array?
  • From: Szabolcs Horvát <szhorvat at gmail.com>
  • Date: Thu, 28 Feb 2013 21:29:02 -0500 (EST)
  • 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: <kgmn9c$8hp$1@smc.vnet.net>

On 2013-02-28 04:43:24 +0000, Jon said:

> Dear All,
> 
> Suppose I defined a symbolic variable array as
> 
> Array[a,4]
> 
> and defined a function as
> 
> f = a[1] + a[2] + a[3] + a[4]
> 
> I need to evaluate the value of f in the following way,
> 
> f/.{a[1]->1,a[2]->1, ...}
> 
> but specify each element of the array one by one is very troublesome, and I
> wonder whether there is something like a group definition like
> 
> f/.{a[1:4]->1}
> 
> to define the four variables at the same time with the same value.

The LHS of a rule (->) is a pattern. You can use a more general pattern:

f /. a[_] -> 1

For more precise control over which indices are taken:

f /. a[i_ /; 1 <= i <= 4] -> 1

For odd ones only:

f /. a[_?OddQ] -> 1

Ref: http://reference.wolfram.com/mathematica/tutorial/PatternsOverview.html




  • Prev by Date: Re: World map as Texture
  • Next by Date: Re: CUDALink is not initialized
  • Previous by thread: Re: how to set initial values to symbolic variable array?
  • Next by thread: CUDALink is not initialized