Interp1 introduces spikes
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello,
I would like to interpolate a set of data I have. It represents the indentation vs force of AFM measurement. My vector indentation is not sorted and might have some non unique values.
Here is the code I am using:
[I,ia,~] = unique(Ii,'stable'); % Ii is the initial indentation vector
F = Ff(ia); % Ff is the force I am measuring
Force = interp1(I,F,I(1):0.1e-9:I(end),'pchip');
IndentationCell{i} = I(1):0.1e-9:I(end);
ForceCell{i} = detrend(Force);
However I am getting some spikes as shown in the picture (left side is plot(I,F), right side is plot(IndentationCell,ForceCell) - after interpolation)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/156538/image.png)
Do you have any ideas to overcome this issue ? I already tried changing interpolation method.
Michael
1 Commento
Adam
il 2 Mar 2016
You would probably have to do a piece-wise interpolation. The problem is that your curve goes back on itself rather than progressing monotonically along the x axis. It is in these places that it introduces the spikes.
If you break your curve up into segments each of which is monotonic along x and interpolate each of those and stitch them back together it should work better I think.
How to break up your curve in such a way is something you would need to think about though. It should be easy enough to locate the points at which the x-values change direction I would think, but is beyond the time I have available to suggest in more detail.
Risposte (1)
Muhammad Usman Saleem
il 2 Mar 2016
here is the solution for this question
2 Commenti
Muhammad Usman Saleem
il 3 Mar 2016
Modificato: Muhammad Usman Saleem
il 3 Mar 2016
interpolate1 interpolate data which is in 1 dimension. Some times its start to interpolate values based on next values. Please consider your data set stickily in 1 dimension. @Adam anwser is also right
Vedere anche
Categorie
Scopri di più su Electrophysiology in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!