Extrapolating data outside given data
44 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi,
I need to extrapolate 15 points of data with 3 given corresponding x and y values. is there any way to do it?
%x = 1:15, y = 9.85 9.82 9.84 (extrapolate to 15)
any help would be greatly appreciated !!
2 Commenti
Walter Roberson
il 10 Nov 2019
Could you confirm that you have an x vector of length 3, and a y vector of length 3?
Is the task to extrapolate y where x would be 15? Or is the task to interpolate at 15 different locations, such as linspace(min(x), max(x), 15) ?
Risposte (1)
Walter Roberson
il 10 Nov 2019
xq = linspace(min(x), max(x), 15);
yq = interp1(x, y, xq);
This does not extrapolate to x = 15, this interpolates at 1, 8/7, 9/7, 10/7, 11/7 and so on.
If you were trying to extrapolate out to x = 15, then
xq = 1 : 15;
yq = interp1(x, y, xq, 'linear', 'extrap')
or 'spline', 'extrap'
Or you could,
xq = 1 : 15;
[P, S, MU] = polyfit(x, y, 2);
yq = polyval(P, xq, S, MU);
Vedere anche
Categorie
Scopri di più su Interpolation in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!