Azzera filtri
Azzera filtri

Straight line approximation of elements in array

4 visualizzazioni (ultimi 30 giorni)
I have a 21x1 array in which every other value is NaN:
s=[0 NaN 5 NaN 0 NaN 0 NaN 5 NaN 0 NaN 0 NaN 5 NaN 0 NaN 0 NaN 5];
I need to make a straight line from one surrounding value to the other for each NaN. For this case, it would be the averages, like 0 NaN 5 would be 2.5, because the surrounding values are 0 and 5, which would make the NaN become 2.5.
Basically I need to replace all the NaNs in this fashion and plot the new array.

Risposta accettata

Matt J
Matt J il 22 Mar 2022
Modificato: Matt J il 22 Mar 2022
s=[0 NaN 5 NaN 0 NaN 0 NaN 5 NaN 0 NaN 0 NaN 5 NaN 0 NaN 0 NaN 5];
fillmissing(s,'linear')
ans = 1×21
0 2.5000 5.0000 2.5000 0 0 0 2.5000 5.0000 2.5000 0 0 0 2.5000 5.0000 2.5000 0 0 0 2.5000 5.0000
  5 Commenti
Pesach Nestlebaum
Pesach Nestlebaum il 22 Mar 2022
Execution of script fillmissing as a function is not supported:
C:\Users\hipes\Downloads\fillmissing.m
Error in sf (line 2)
fillmissing(s,'linear')
Matt J
Matt J il 22 Mar 2022
Modificato: Matt J il 22 Mar 2022
Did you download an mfile called fillmissing.m to the folder
C:\Users\hipes\Downloads\
If you aren't using it for something else, I suggest you get rid of it.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by