Problem 71. Read a column of numbers and interpolate missing data
Solution Stats
Problem Comments
-
8 Comments
Cody keeps throwing the error "Error using SharedVariable1 (line 11) Assertion failed." no matter what code is submitted.
Seems the test suite always calls the function with the same cell array 'Day Temp' ' 1 1.3' ' 2 1.12' ' 3 17' ' 4 -32' ' 5 13' ' 6 4.4' ' 7 19'.
I have fixed an issue with this problem where the test suite was not visible since there was no %% for the first test suite
keeps throwing Error for me too. Even though the answers are I get are the same as the test suite.
I suggest that there should have been some cases with more than one 'run' of 9999 values in the Test Suite, just as in the "real-world data". For example: clean for an input based on [100 100 9999 9999 100 200 9999 300 500], which has two (not three) 'runs'. (Testing interpolation with nil slope, as in this example, would also have been good to include.)
the problem makes you sweat, awesome!
This is working still would be appreciated for enhancement.
function t = read_and_interp(s)
s=strtrim(s);
row_num=numel(s);
counter=1;
for i=2:row_num
splitted=strsplit(s{i});
temp1=splitted(1);
temp2=splitted(2);
r(counter)=str2double(temp1);
r(counter+1)=str2double(temp2);
counter=counter+2;
end
first_column=r(1:2:end)
second_column=r(2:2:end)
if find(second_column==9999)>=1
first_column(find(second_column==9999))=[];
missed=find(second_column==9999);
second_column(find(second_column==9999))=[];
missed_value=interp1(first_column,second_column,missed)
second_column=r(2:2:end);
second_column(find(second_column==9999))=missed_value;
t=second_column
else
t=second_column
end
Good Problem
beware of splitting.
solution:
https://github.com/AhmedNazir/MatlabCody/blob/master/read_and_interp.m
Solution Comments
Show commentsProblem Recent Solvers2036
Suggested Problems
-
Back to basics 11 - Max Integer
759 Solvers
-
Multiples of a Number in a Given Range
509 Solvers
-
Right Triangle Side Lengths (Inspired by Project Euler Problem 39)
1434 Solvers
-
342 Solvers
-
Replace multiples of 5 with NaN
419 Solvers
More from this Author96
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!