Interp1 introduces spikes

9 Ansichten (letzte 30 Tage)
Michael Lherbette
Michael Lherbette am 2 Mär. 2016
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)
Do you have any ideas to overcome this issue ? I already tried changing interpolation method.
Michael
  1 Kommentar
Adam
Adam am 2 Mär. 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.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Muhammad Usman Saleem
Muhammad Usman Saleem am 2 Mär. 2016
  2 Kommentare
Michael Lherbette
Michael Lherbette am 2 Mär. 2016
I am sorry but I don't see how this is the solution of my problem
Muhammad Usman Saleem
Muhammad Usman Saleem am 3 Mär. 2016
Bearbeitet: Muhammad Usman Saleem am 3 Mär. 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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Interpolation finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by