javarmi
پنج شنبه 25 اسفند 1390, 13:43 عصر
سلام
کسی میتونه الگوریتم درونیابی لاگرانژ رو با پایتون پیاده سازی کنه ؟ یعنی با دادن چند تا نقطه معادلهٔ خط رو بده
واقعا بهش احتیاج دارم
با تشکر فراوان :لبخندساده:
javarmi
پنج شنبه 25 اسفند 1390, 16:13 عصر
در ضمن من این کد رو پیدا کردم ولی چون اصلا با پایتون کار نکردم نمیدونم درست هست یا نه؟ و اینکه چه جوری میتونم تستش کنم؟
ازتون ممنونم اگه راهنمائی بفرمائید :لبخندساده:
# Tested on Windows 7 and Python 2.7
# the code
def lagrangian_interpolate(samples):
"""
Takes some samples as a list of tuples and returns a function that's
a lagrangian interpolation of all the samples.
"""
X = 0 # the tuple index of the X variable in the samples
Y = 1 # the tuple index of the Y variable in the samples
n = len(samples)
# define the L function as a function generator that generates L functions
# for a given i
def L(i):
"This function generates an L function for a given x_i"
def L_gen(x):
ret = []
for j in xrange(n):
if j != i:
ret.append((x - samples[j][X])/(samples[i][X] - samples[j][X]))
return reduce(lambda a,b: a*b, ret)
return L_gen
return lambda x: sum(L(i)(x) * samples[i][Y] for i in xrange(n))
# main
prob_1 = lagrangian_interpolate([(2,1.4142),(2.5,1.5811),(3.0,1.7321)])
print prob_1(2.2)
prob_1_b = lagrangian_interpolate([(2,1.4142),(2.5,1.5811),(2.7,1.6432)])
print prob_1_b(2.2)
prob_2 = lagrangian_interpolate([(2.0,1.4142),(2.5,1.5811),(3.0,1.7321),(3.5,1.8708 )])
print prob_2(2.8)
aerosadegh
شنبه 11 بهمن 1393, 22:24 عصر
سلام
جوابتون اینجاست
پایتونکار (http://pypro.blog.ir/post/%D8%AF%D8%B1%D9%88%D9%86%DB%8C%D8%A7%D8%A8%DB%8C)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.