Filling blanks with zeros

1 次查看(过去 30 天)
Hello, I have a vector of 1175 values. The vector begins with the following values: 1983, 2004, 2054, 2094, 3107, 3137 etc. Is it possible to fill in the blanks between the values with zeros? So it would be 1982 times 0, than the value 1983, 21 times 0, than the value 2004, 50 times 0, than the value 2054 and so on...
Thanks in advance! Shawn Imming

采纳的回答

Walter Roberson
Walter Roberson 2016-11-7
maxval = max(YourVector);
NewVector = zeros(1, maxval);
NewVector(YourVector) = YourVector;

更多回答(1 个)

KSSV
KSSV 2016-11-7
编辑:KSSV 2016-11-7
clc; clear all ;
yrs = [ 1983, 2004, 2054, 2094, 3107, 3137];
data = rand(1,length(yrs)) ; % respective values
[yrs' data']
y = min(yrs):max(yrs) ;
datai = zeros(size(y)) ;
datai(ismember(y,yrs)) = data ;
[y' datai']

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by