`[x, y, z,...]=mapfilter(a, b, c,..., mapfunction, selectfunction)`

Inputs | |

`{a, b, c,...}` |
One or more arrays of identical type and size. |

`mapfunction` |
A function of the form `[xi, yi, zi,..]=mapfunction(ai, bi, ci,..)` that transforms the selected scalar elements of the inputs. |

`selectfunction` |
A function of the form `select=selectfunction(ai, bi, ci,..)` that returns a boolean value indicating if the scalars that are the elements of the arrays input to `mapfilter` should be selected for constructing the outputs. |

Outputs | |

`{x, y, z, ...}` |
The arrays constructed by mapping the selected elements of the inputs. |

If the inputs are numeric arrays, the function is equivalent to the following (pseudocode)

n=numel(a); // Make sure that the input arrays are identical in size. for i=1:n if(selectfunction(a[i],b[i],..)) (x[i],y[i],z[i],..)=mapfunction(a[i], b[i], c[i],...) end end