FILLZERO (v2.1, may 2008)
FILLZERO - replaces zeros of an array with preceeding non-zero values
Y = FILLZERO(X), when X is a vector, returns a vector Y in which each zero in X is changed into the last non-zero value of X that preceeds it. In other words, the sequence ".. A 0 .. 0 B .." is converted into the sequence ".. A A .. A B .."
For matrices, FILLZERO(X) operates on the first non-singleton dimension of X. FILLZERO(X,DIM) operates on the dimension DIM.
Examples:
X = [0 1 0 0 4 0 2 3 0 0 0 8 0] ;
Y = fillzero(X)
% --> Y = [0 1 1 1 4 4 2 3 3 3 3 8 8] ;
X = [1 2 3 0 ; 0 0 4 8; 0 5 0 0 ; 2 0 -2 0 ; 0 1 0 0]
fillzero(X) % ... equals fillzero(X, 1)
% -->
% 1 2 3 0
% 1 2 4 8
% 1 5 4 8
% 2 5 -2 8
% 2 1 -2 8
fillzero(X, 2)
% -->
% 1 2 3 3
% 0 0 4 8
% 0 5 5 5
% 2 2 -2 -2
% 0 1 1 1
FILLZERO can handle NaNs, and Infs. Example:
fillzero([1 0 NaN 0 3 0 Inf 0 -Inf 0 6 0])
% -> 1 1 NaN NaN 3 3 Inf Inf -Inf -Inf 6 6
See also FIND, CUMSUM
This function was inspired by a recent post on CSSM.
Version 2.1, may 2008
Cite As
Jos (10584) (2026). FILLZERO (v2.1, may 2008) (https://www.mathworks.com/matlabcentral/fileexchange/19906-fillzero-v2-1-may-2008), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- MATLAB > Mathematics > Sparse Matrices >
Tags
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.0.0.0 | fixed third bug |
