calculate data based on previous values and replace it at negative and zeros values
Show older comments
there is different data in the column in excel (REACTIVE_Y_PH), which has some negative and zeros values also, these values should be replaced by calculating the average of previous data and replace them.
5 Comments
Image Analyst
on 4 Jul 2018
Edited: Image Analyst
on 4 Jul 2018
Not the average of the data on each side of the bad data? Just on the previous side? OK, but average how many on the previous side only? This is easy to do with conv() and logical indexing, so just try it. Even easier if you have the Image Processing Toolbox. Let me know if you can't figure it out.
KSSV
on 4 Jul 2018
Your data has negative values in the first index also i.e 1:17 values are negative..with what you want to replace them?
MUKESH KUMAR
on 4 Jul 2018
Image Analyst
on 4 Jul 2018
What were the "last" 5 values when the first few are to be replaced? There are no elements at indexes -4 to 0. Or did you mean the "last" ones at the other end of the array, like from vec(end-4:end)?
MUKESH KUMAR
on 4 Jul 2018
Edited: MUKESH KUMAR
on 4 Jul 2018
Answers (1)
KSSV
on 4 Jul 2018
[num,txt,raw] = xlsread('sample.xls') ;
data = cell2mat(cellfun(@str2num,txt(:,2),'un',0)) ;
%%fill negative and zeros
idx = data<=0 ;
data(idx) = NaN ;
data = fillmissing(data,'previous') ;
1 Comment
MUKESH KUMAR
on 4 Jul 2018
Categories
Find more on Data Import from MATLAB 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!