Replacing value by the mean of the two nearest neighbors
17 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ludovica Maria Campagna
el 26 de Sept. de 2022
Comentada: Alexis
el 24 de En. de 2024
I have a column vector:
B = [20; 18; NaN; 25; 100; 15; -50; 23]
I need to pre-process data, so I want to:
- replace numbers greater than a certain value (e.g. numbers greater than 40) with the average of the two adjacent numbers.
- replace numbers smaller than a certain value (e.g. numbers smaller than -10) with the average of the two adjacent numbers.
- replace missing value with the average of the two adjacent numbers.
Thank you!
2 comentarios
Torsten
el 26 de Sept. de 2022
The result will depend on the order in which you perform these operations.
So order doesn't matter ?
Respuesta aceptada
David Hill
el 26 de Sept. de 2022
B = [20; 18; NaN; 25; 100; 15; -50; 23; NaN; 15; -15; 30];
idx=find(isnan(B));
B(idx)=mean([B(idx-1),B(idx+1)],2);
idx=find(B<-10);
B(idx)=mean([B(idx-1),B(idx+1)],2);
idx=find(B>40);
B(idx)=mean([B(idx-1),B(idx+1)],2)
1 comentario
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!