Effacer les filtres
Effacer les filtres

I wrote this function, which should calculates the values of the linear interpolation

1 vue (au cours des 30 derniers jours)
I wrote this function, which should calculates the values of the linear interpolation function x values given by Xl = [xmin,
xmax]:
function [ X, Y ] = linterp( a, b, Xl, n ) % Xl = [xmin, xmax]
x = linspace( Xl(1), Xl(2), n + 1 ) ;
result = a*x + b ;
X = result(1) ;
Y = result(2) ;
end
I compared the results with polyval
Y2 = polyval( [ a b ], X )
and in 2 out of 3 cases the function works...
What is going wrong?
for linterp( 1, 0, [0 1], 2 ) - the answer should be 0, but it 0.5
for other examples answers are great.
  3 commentaires
Ihor
Ihor le 10 Déc 2022
Thank you so much, I want my function to return me the same answer as Y2 = polyval( [ a b ], X ) for the same values.
I want that Y from my function will be equal to Y2 from polyval function. For other input data Y == Y2, but for 1, 0, [0 1], 2 - not.
Torsten
Torsten le 10 Déc 2022
Y = polyval( [ 1 0 ], [0 1] )
Y = 1×2
0 1
This call to "polyval" evaluates the linear function p(x) = 1*x + 0 = x at x=0 and x=1.
What does this has to do with interpolation ?

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 10 Déc 2022
Modifié(e) : Matt J le 10 Déc 2022
function [ X, Y ] = linterp( a, b, Xl, n ) % Xl = [xmin, xmax]
X = linspace( Xl(1), Xl(2), n + 1 ) ;
Y = a*X + b ;
end

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