Quadratic interpolation of an N dim array
58 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello I would to know how I can perform a quadratic interpolation of an array using matlab ? it is worth mentioning that I am using interp1 for now. thank you!
0 commentaires
Réponse acceptée
Ameer Hamza
le 26 Avr 2018
coefficients = polyfit(x, y, 2);
Then to interpolate the value use
interpolatedValues = polyval(coefficients, xq); % xq vector of points where you want to interpolate
4 commentaires
Ameer Hamza
le 27 Avr 2018
In training phase of interpolation you need to vector x and y of equal length. Because by definition of interpolation, you are trying to estimate a function f: x -> y, which will best (e.g. in the least square sense) model the relation between x and y. This requires training dataset to have the same length of x and y.
After training is complete, you can use f to estimate y value at points xq for which you don't know the actual value of y, using f(xq).
Plus de réponses (1)
Walter Roberson
le 26 Avr 2018
A = [x(:).^2, x(:), ones(numel(x),1)];
b = y;
coefficients = (A\b).';
This code is fine with x being either a row vector or column vector. The code expects that you are doing the quadratic fitting over each column of y independently (not over the rows.)
The array of coefficients that results will be N x 3 where N is the number of columns of y. The order of the coefficients will be the x^2 coefficient, then the x coefficient, then the constant.
0 commentaires
Voir également
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!