# Re: Discrete interpolation attribute (was New version of DAVEfunc DTD 1.9b3)

```
On Jun 18, 2007, at 1:28 PM, Giovanni A. Cignoni wrote:```
```
```
The main change to the DTD is addition of 'discrete' as a supported interpolation method for tabular data, yielding a stair- step response from such a function. This came from a suggestion from Geoff Brian of Australia's DSTO.
```
```
"Discrete" interpolation is the method also known as "nearest neighbor"? Being x in [a, b], f(x) is f(a) or f(b) depending on x being nearer to a or b. Correct?
```
Giovanni Cignoni.

```
```
```
This is a good question, Giovanni. I see that we need to be much more rigorous in our definition of 'discrete' as it applies to these tables.
```
```
I had assumed the interpretation would be as follows (I don't think this is 'nearest-neighbor')...
```
```
In the case of a one-dimensional function, if the independentVarPts are defined as
```
[a, b, c, d]

and an arbitrary griddedTable points are defined as

[8.5, 9.0, 9.5, 10.0]

the function f(x) would be evaluated as shown below:

f(x)   ^
|
10.0 - |                        o
|                        |
|                        |
9.5 - |                 o------o
|                 |
|                 |
9.0 - |          o------o
|          |
|          |
8.5 - |   o------o
|
|----------------------------------> X
|      |      |      |
a      b      c      d

so the independent values state where the function changes value.

```
Nearest-neighbor would put the transitions exactly between the independent break points.
```
```
I'd appreciate any feedback on this topic, especially from Geoff Brian who is apparently making use of this 'extension' to DAVE-ML.
```
-- Bruce

```