Problem with interpolating missing data

1 Ansicht (letzte 30 Tage)
D.J
D.J am 4 Okt. 2018
Kommentiert: Star Strider am 4 Okt. 2018
Hi all, I have the following data:
d=[1:13]'
T_Req3 = [
26 24.6
27.3 26.4
19.3 16.1
24.3 23.3
25.1 21.2
26.2 25.6
29.7 28.7
32.7 30.9
28.5 27.3
30.5 30.3
NAN 33.3
35.5 35.2
26.1 25.4];
I need to find the value of NaN using interpolation. I tried the following code but didn't work: Any help would be highly appreciated. Thank you
Tl1 = T_Req3;
%Using the"find" function to filter the the NAN data
f = find(~isnan(T_Req3(11,:)));
% 4- Using the interpolation function to estimate the value of Tmax29
Tl1(11,1) = interp1(d(f),T_Req3(11,f),1);

Akzeptierte Antwort

Star Strider
Star Strider am 4 Okt. 2018
Try this:
d_T_Req3 = cat(2, d, T_Req3); % Concatenate
idx = ~any(isnan(d_T_Req3), 2); % Logical Index Of Rows Without ‘NaN’
T_new = interp1(d_T_Req3(idx,1), d_T_Req3(idx,2:end), d) % Interpolate
T_new =
26 24.6
27.3 26.4
19.3 16.1
24.3 23.3
25.1 21.2
26.2 25.6
29.7 28.7
32.7 30.9
28.5 27.3
30.5 30.3
33 32.75
35.5 35.2
26.1 25.4
  2 Kommentare
D.J
D.J am 4 Okt. 2018
This is actually a much better answer as it shows both columns,, while the solution provided before displays only one column.
Thank you Star ! much appreciated
Star Strider
Star Strider am 4 Okt. 2018
As always, my pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Kevin Chng
Kevin Chng am 4 Okt. 2018
Bearbeitet: Kevin Chng am 4 Okt. 2018
Hi D J,
Hope my code could help you.
T_Req3 = [
26 24.6
27.3 26.4
19.3 16.1
24.3 23.3
25.1 21.2
26.2 25.6
29.7 28.7
32.7 30.9
28.5 27.3
30.5 30.3
NAN 33.3
35.5 35.2
26.1 25.4];
[TF,F] = fillmissing(T_Req3,'linear')
The missing data will be replaced in TF by linear method (Interpolation). F is telling you where is the missing data.
^^
if you want to know what is the filled value for your missing data
TF(F)
  4 Kommentare
D.J
D.J am 4 Okt. 2018
Bearbeitet: D.J am 4 Okt. 2018
Thank you Kevin
Kevin Chng
Kevin Chng am 4 Okt. 2018
^^

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Interpolation finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by