How to perform a proper interpolation with only few data points

11 vues (au cours des 30 derniers jours)
Luki
Luki le 17 Jan 2017
Commenté : Star Strider le 17 Jan 2017
I want to interpolate the following data:
I was trying:
interpolation = interp1(frequency,linear scaling,'spline')
But this doesn't work well at all! Is there a better way?

Réponse acceptée

Star Strider
Star Strider le 17 Jan 2017
You need a vector of independent values to interpolate. Note that the variable name ‘linear scaling’ (with the included space) is not a valid MATLAB variable name, and with the space would throw an error because there is no required comma (,) to separate the arguments. I added the underscore to rename it ‘linear_scaling’.
See if this improves your results:
freq_intrp = linspace(min(frequency), max(frequency), 50);
interpolation = interp1(frequency, linear_scaling, freq_intrp, 'spline');
I chose 50 points (third argument to linspace) between the frequency limits. Use as many points as you like.
  2 commentaires
Luki
Luki le 17 Jan 2017
works like a charm! thank you so much!
Star Strider
Star Strider le 17 Jan 2017
As always, my pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)

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