Applying filters

I have a value X, a value DX and an odd integer N (say N=9) and want to create an array such that

let X = 10, DX = 2 and N = 9

DIST(1) = X - 4 * DX
DIST(2) = X - 3 * DX
DIST(3) = X - 2 * DX
DIST(4) = X - DX
DIST(5) = X
DIST(6) = X + DX
DIST(7) = X + 2 * DX
DIST(8) = X + 3 * DX
DIST(9) = X + 4 * DX

How can I do a loop to do this?

It should looks like:

for( i=-4; i<=4; i++ ) {
  DIST[i+5] = X + i * DX
}

Notice how the values of DIST(i) can be assigned alternatively -

DIST(1) = X - 4 * DX     = X + (-5 + 1) * DX
DIST(2) = X - 3 * DX     = X + (-5 + 2) * DX
DIST(3) = X - 2 * DX     = X + (-5 + 3) * DX
DIST(4) = X - DX         = X + (-5 + 4) * DX
DIST(5) = X              = X + (-5 + 5) * DX
DIST(6) = X + DX         = X + (-5 + 6) * DX
DIST(7) = X + 2 * DX     = X + (-5 + 7) * DX
DIST(8) = X + 3 * DX     = X + (-5 + 8) * DX
DIST(9) = X + 4 * DX     = X + (-5 + 9) * DX

Assuming you want to use X, DX, N and DIST in your loop construct, you could do something like this -

for( i = 1; i <= N; i++ )
{
  DIST = X + (-5 + i) * DX
}

tyler_durden