Borrar filtros
Borrar filtros

How do I interpolate values within a while loop?

1 visualización (últimos 30 días)
Cai Chin
Cai Chin el 6 de Dic. de 2020
Respondida: Mohith Kulkarni el 9 de Dic. de 2020
Hi, I am using MATLAB R2020a on a MacOS. I am trying to remove outliers in real-time from a vector called 'cycle_periods' in a while loop by comparing each value to the exponentially weighted moving mean of the previously 'accepted' values. If the value in this vector meets 2 conditions, it is added to a new vector 'accepted_cycle_periods' and the exponentially weighted moving average is updated to include the newly accepted vector value. If the condition is not met, a zero is instead added to 'accepted_cycle_periods' as a place holder and the weighted moving mean is not updated. Is there any way of removing these zeros in real-time as soon as a new vector value from 'cycle_periods' is accepted, and then replacing the zeros by values based on a linear interpolation of the newly accepted value and the previously accepted value in 'accepted_cycle_periods'?
Any suggestions would be much appreciated. Thanks in advance.

Respuesta aceptada

Mohith Kulkarni
Mohith Kulkarni el 9 de Dic. de 2020
You can use the interp1 function to interpolate the vector in the iteration when a new non zero value is added to the vector. You can refer the accepted answer for this question in the below link for details to interpolate a vector.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by