Problem 340. Find last non-zero in a given dimension
You are given a logical matrix BW of any dimension, and a dimension dim. You need to find the locations of the last non-zero element of BW in that given dimension. If no non-zeros exist at an element location, return a 0 at that location.
For example, given:
BW = [0 0 0 0; 1 1 1 1; 0 1 1 0]
When dim = 1, you should return:
ans = [2 3 3 2], because these are the row numbers of the last non-zeroes in each column.
When dim = 2, you should return:
ans = [0; 4; 3], because these are the column numbers of the last non-zeroes in each row.
Don't forget that the input isn't restricted to 2D matrices.
Solution Stats
Problem Comments
-
1 Comment
A C
on 6 Jan 2021
What is the 3 and 4 dimension in matrix? How is it used?
Solution Comments
Show commentsGroup

Indexing I
- 27 Problems
- 236 Finishers
- Piecewise linear interpolation
- Longest run of consecutive numbers
- Construct an index vector from two input vectors in vectorized fashion
- Getting the indices from a matrix
- First non-zero element in each column
- Return unique values without sorting
- Return a list sorted by number of consecutive occurrences
- intersection of matrices
- Generate N equally spaced intervals between -L and L
- Check if number exists in vector
- Replicate elements in vectors
- We love vectorized solutions. Problem 1 : remove the row average.
- intersection of matrices
- Generate N equally spaced intervals between -L and L
- Create logical matrix with a specific row and column sums
- Return a list sorted by number of consecutive occurrences
- Replicate elements in vectors
- Get the elements of diagonal and antidiagonal for any m-by-n matrix
- Getting the indices from a matrix
- Check if number exists in vector
- Fill a zeros matrix
- Set the array elements whose value is 13 to 0
- Construct an index vector from two input vectors in vectorized fashion
- Joining Ranges
- Remove the two elements next to NaN value
- Reindex a vector
- Longest run of consecutive numbers
- Put two time series onto the same time basis
- Getting logical indexes
- Matrix indexing with two vectors of indices
- middleAsColumn: Return all but first and last element as a column vector
- Return elements unique to either input
- "Low : High - Low : High - Turn around " -- Create a subindices vector
- Return unique values without sorting
- Find the largest value in the 3D matrix
- Specific Element Count
- First non-zero element in each column
Problem Recent Solvers39
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!