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....
How to fill missing data in timeseries objeject Matlab
1 view (last 30 days)
Show older comments
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
Accepted Answer
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
More Answers (0)
See Also
Categories
Find more on AI for Signals in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!