# 0-D interpolation, piecewise constant function definition

**URL:** <https://scilab.discourse.group/t/0-d-interpolation-piecewise-constant-function-definition/308>\
**Category:** Data handling\
**Created:** [December 22, 2023, 11:35am UTC](https://scilab.discourse.group/t/0-d-interpolation-piecewise-constant-function-definition/308 "2023-12-22T11:35:49Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![davcheze](https://avatars.discourse-cdn.com/v4/letter/d/90db22/32.png) [@davcheze](https://scilab.discourse.group/u/davcheze)\
**Post date:** [January 5, 2024, 3:07pm UTC](https://scilab.discourse.group/t/0-d-interpolation-piecewise-constant-function-definition/308/6 "2024-01-05T15:07:43Z")

</div>

Hi ,

looking for highest speed, I experimented successfully to use native function `linear_interpn` instead of `interp1` macro, significantly faster on large dataset.

```auto
function yp= interp0(x,y,xp)
    i = floor(linear_interpn(xp,x,1:length(x),"C0"))  
    yp = y(i)    
endfunction

```

So the suggestion is to add the piecewise constant interplotation feature rather to `linear_interpn` .

best,

David

---

_[View the full topic](https://scilab.discourse.group/t/0-d-interpolation-piecewise-constant-function-definition/308)._
