Filter values in a vector - MATLAB Cody - MATLAB Central

Problem 214. Filter values in a vector

Difficulty:Rate

Cody often benefits from a functional style of programming. For example, your score is often better when you compose multiple functions instead of using intermediate variables. This problem involves creating a function to expand the repertoire of "functional functions."

For this problem, write a filter function that applies a "predicate" function to a numeric, character, or cell vector and returns the elements for which the predicate returns true. Here are few examples:

filterfun(@isprime, 1:10)                     ==> [2 3 5 7]
filterfun(@(c)c~='a', 'kayak radar')          ==> 'kyk rdr'
filterfun(@(x)~isempty(x), {[]; 1; 'a'; []; {}}') ==> {1; 'a'}

Notes: If the vector v is a cell, you should apply the predicate to v{i} not v(i). Also, filterfun should preserve the singleton dimension of the vector, i.e. if the input vector is a column vector the output should be a column vector.

Solution Stats

42.11% Correct | 57.89% Incorrect
Last Solution submitted on Jan 24, 2025

Problem Comments

Solution Comments

Show comments
PIVlab surpasses 100K all-time File Exchange downloads
During the past twelve months, PIVlab, a MATLAB Community Toolbox for particle...
4
8

Problem Recent Solvers73

Suggested Problems

More from this Author1

Problem Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!