標籤

C (1) maple (2) Matlab (11) paper (1) python (14)

2011年4月6日 星期三

插值法

def data(i):      # 先定義輸入data的函數
    f={}
    k=0
    while k<i:
        print "input x_%r"%k
        x_k=input()
        print "input f(x_%r)"%k
        f[x_k]=input()
        k=k+1
    return f
 
def inter(f,x):    # 以下是插值法 f要是一個dic才行
    i=1
    p=[]
    j=0
    Result=0
    m=0
    k=len(f)
    for j in range(0,k):
        g=1.00
        for m in range(0,k):
            if j!=m:
                g = g*(x-f.keys()[m])/(f.keys()[j]-f.keys()[m])
        p.append(g*f.values()[j])
    print p
    g=sum(p)
    print g

不純熟,只好用最笨的方法寫:'(

沒有留言:

張貼留言