„Interpoláció” változatai közötti eltérés

[ellenőrzött változat][nem ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
HunBoTy (vitalap | szerkesztései)
a →‎Átméretezés: (vesszőhibák, kisebb fogalmazási hibák javítása)
TyPody (vitalap | szerkesztései)
Nincs szerkesztési összefoglaló
76. sor:
:<math>A_j(x)=\frac{x_{j+1}-x}{x_{j+1}-x_j}\ ,\qquad</math>
:<math>B_j(x)=1-A_j(x)=\frac{x_{j}-x}{x_{j}-x_{j+1}}</math>.
 
== Algoritmus a lineáris interpolációhoz ==
<source lang=python>
def Lokalizalas(x, X):
k=0
m=0
l=n-1
if x==X[l]:
k=l-1
while l-k>1:
m=(k+l)/2
if x<X[m]:
l=m
else:
if x==X[m]:
return m
else:
k=m
return k
#azt az indexet teritem vissza, amelyiknel meg eppen nagyobb az x
def LinearisInterpolacio(x, X, Y):
i=0
i=Lokalizalas(x, X)
return Y[i]+(Y[i+1]-Y[i])/(X[i+1]-X[i])*(x-X[i])
 
X=[0, 0.78, 1.57, 2.35, 3.1, 4, 4.8, 5.5, 6.6]
Y=[0, 0.7, 1, 0.75, 0.1, -0.66, -1.05, -0.7, 0]
X1=np.linspace(0,6.6,n1)
Y1=[0]*n1
plt.plot(X,Y, 'og')
for i in range(n1):
Y1[i]=LinearisInterpolacio(X1[i], X, Y)
plt.plot(X1,Y1, '--r')
plt.show()
 
</source>
A kód futtatása után az interpoláció a következőképpen néz ki:
[[Fájl:Linearisinterpolacio.png]]
 
== Lagrange-interpoláció ==