How to fill missing data in timeseries objeject Matlab

2 views (last 30 days)
Hello all,
I got one problem with the filling missing data.
1123423 33
1123443 33
1123460 34
1123478 35
1123490 35
So basically, between 1123423-1123459 the value are all 33. then from 1123460-1123477 the values are all 34. from 1123478--are 35
so I need to fill all the data between :
index value
1123423 33
1123424 33
1123425 33
1123426 33
...
1123442 33
1123443 33
1123460 34
1123478 35
1123490 35
I tried with fillts(), but my Matlab 2013 does not have that function. Anyone can give some idea?
I plan to read the old value to new mat file. and when the index is not in the old file, put the previous value from old mat file to the new mat file value....honestly I do not know about the speed, even the implementation itself might be not possible....
Anyone has some experience in this? please give some advice. I will be very appreciate! Thanks
  1 Comment
buer
buer on 17 Dec 2014
No one knows this? Or is that I did not explain it clearly? people can say it is just copy one file to another line by line, during which filling the missing data....

Sign in to comment.

Accepted Answer

Joseph Cheng
Joseph Cheng on 17 Dec 2014
you can try this
%Generate example
examp = [1123423 33;...
1123443 33;...
1123460 34;...
1123478 35;...
1123490 35];
% create the new range
Frange = [examp(1,1):examp(end,1)]';
% find where the values you know fall on the range
loc = find(ismember(Frange,examp(:,1)));
%create new matrix to insert the data
FilledData = [Frange zeros(size(Frange))];
% insert additional point for the last point incase Frange is defined to go
% farther than the last point in example.
loc = [loc;length(Frange)+1];
%propogate the data to the next point you know.
for ind = 1:length(loc)-1
range = [loc(ind):loc(ind+1)-1]';
FilledData(range,2)=examp(ind,2);
end
  1 Comment
buer
buer on 18 Dec 2014
This is soooooo great...I will check very careful..thanks a lot..it works now...

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!