## filter (var* Data, int Length, var Kernel[6]) : var*

Applies a 5-element convolution filter
with the given **Kernel** to the **Data** array. Each
**Data** element is added to its local neighbors, weighted by the
**Kernel**, using this formula: *Data[i] =
Kernel[0]*Data[i-2] + Kernel[1]*Data[i-1] + Kernel[2]*Data[i] +
Kernel[3]*Data[i+1] + Kernel[4]*Data[i+2] + Kernel[5]*. This function
can be used for data smoothing, summing up, subtraction, sharpening, edge
enhancement, or similar data array manipulation operations.
### Parameters:

**Data** |
Array or series to be filtered. |

**Length** |
Number of elements to be filtered. |

**Kernel** |
Vector of 5 weights plus constant to be
added. |

### Returns

Modified **Data**

## renorm (var* Data, int Length, var Sum) : var*

Modifies the **Data** array by multiplying all elements with a
factor so that they sum up to
**Sum**.
This function can be used to normalize a list of weights to a certain total.
### Parameters:

**Data** |
Array or series to be normalized. |

**Length** |
Number of elements to be normalized. |

**Sum** |
Resulting sum of elements. |

### Returns

Modified **Data**

### Remarks:

- Use the renorm function on the kernel
when the weight sum must be 1.
- For boundary handling,
**Data[0]** and **
Data[Length-1]** are extended.
- Some examples of filter kernels:

Identity |
**{ 0, 0, 1, 0, 0, 0 } ** |

Sharpen |
**{ -1, -1, 4, -1, -1, 0 } ** |

Smooth |
**{ 0.2, 0.2, 0.2, 0.2, 0.2, 0 }** |

Gaussian |
**{ 0.1, 0.2, 0.4, 0.2, 0.1, 0 }** |

Shift to the right |
**{ 0, 1, 0, 0, 0, 0 }** |

Mean subtraction |
**{ 0, 0, 1, 0, 0, -mean } ** |

Fill with constant |
**{ 0, 0, 0, 0, 0, constant } ** |

### Example:

var* Filter = { 1,2,3,2,1,0 };
filter(Data,Length,renorm(Filter,5,1));

### See also:

predict, advise, polyfit,
distribute
► latest
version online