Quadratic interpolation of an N dim array
120 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ano
el 26 de Abr. de 2018
Comentada: Ameer Hamza
el 27 de Abr. de 2018
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 comentarios
Respuesta aceptada
Ameer Hamza
el 26 de Abr. de 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 comentarios
Ameer Hamza
el 27 de Abr. de 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).
Más respuestas (1)
Walter Roberson
el 26 de Abr. de 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 comentarios
Ver también
Categorías
Más información sobre Interpolation en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!