How to retain duplicate while using ScatteredInterpolant

9 vues (au cours des 30 derniers jours)
Aristo
Aristo le 2 Sep 2017
I want to retain duplicates when using ScatteredInterpolant because I am getting warning:"Warning: Duplicate data points have been detected and removed - corresponding values have been averaged. "
  1 commentaire
shravani banerjee
shravani banerjee le 8 Oct 2018
Did you found your answer as I too have the same problem?

Connectez-vous pour commenter.

Réponse acceptée

John D'Errico
John D'Errico le 2 Sep 2017
Modifié(e) : John D'Errico le 2 Sep 2017
1-d is sufficient to explain here.
x = [1 2 3 3 4 5];
y = [1 2 3 4 5 6];
There is a replicated x, with two distinct values of y. Exactly what do you think "retaining the duplicate" means here? What value of y should be interpolated when x==3?
A property of interpolation is that for any given x, if one of the original data points is interpolated, you should get out exactly the same value as went in. (At least, exact to within floating point trash.)
  2 commentaires
Aristo
Aristo le 2 Sep 2017
Let me explain, if you have a array
x= [1,2,3,1,1,4,5,6,1,7]
then , if I use ScatterInterpolant , x becomes:
x=[1,2,3,4,,5,6,7]
but I need x to be:
x= [1,2,3,1,1,4,5,6,1,7]
Walter Roberson
Walter Roberson le 2 Sep 2017
You have not answered the question about which value of y should be interpolated.

Connectez-vous pour commenter.

Plus de réponses (1)

Francesc Purroy
Francesc Purroy le 12 Nov 2018
In some cases you can have a set of x and y data where the values of x and/or y are repeated as Aristo was showing. A simple way around is to add some noise to your data as with randn then ScatterInterpolant does not consider the values to be equal and it works for me.

Catégories

En savoir plus sur Interpolation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by