MathGroup Archive 2001

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

Search the Archive

Re: weighting CA neighbors by distance

  • To: mathgroup at
  • Subject: [mg29913] Re: weighting CA neighbors by distance
  • From: "Orestis Vantzos" <atelesforos at>
  • Date: Wed, 18 Jul 2001 02:08:53 -0400 (EDT)
  • Organization: National Technical University of Athens, Greece
  • References: <9iomeb$i0u$>
  • Sender: owner-wri-mathgroup at

ListCorrelate[{{1/Sqrt[2], 1, 1/Sqrt[2]}, {1, 0, 1}, {1/Sqrt[2], 1,
1/Sqrt[2]}}, A, {2, -2}, 0]
does what you want.
The first argument is the "negihbors matrix" you have, with 1/Sqrt[#.#]&
mapped to its elements.
The third argument {2,-2} took half an hour of unsuccesfull attempts to get
A is the CA matrix ofcourse.
PS.The documentation on ListConvolve and ListCorrelate leaves a lot to be
desired , for such devilishly usefull functions.

"Brent Pedersen" <bpederse at> wrote in message
news:9iomeb$i0u$1 at
> I am doing some variations of cellular automata.
> Using only the actual value of the neighbors in determining the value of
> the current cell, I can use:
> Apply[Plus, Map[RotateRight[mat1, ##] &, nbrs]];
> where mat1 is the matrix of values for whatever the CA is modelling.
> and nbrs is a list of pairs (eg.
> {{-1,-1},{-1,0},{-1,1},{0,-1},{0,1},{1,-1},{1,0},
> {1,1}} for the 8 cell moore neighborhood.)  defining the neighborhood I
> am interested in.
> The line above sums all neighbors as they are but, I wish to weight the
> neighbors
> according to their distance (eg. {-1,-1} is farther away than {-1,0}
> when using the
> RotateRight function.
> I think I may be able to do this with ListConvolve, or Inner but I can't
> figure it out.
> Anyone have any ideas?

  • Prev by Date: Re: Printing Large Base-n Numbers
  • Next by Date: Re: Re: Re: Thread and MapThread
  • Previous by thread: Re: weighting CA neighbors by distance
  • Next by thread: 1) Numerical precision, 2) Bug in Plot?