第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我可以將使用 lambda x 創(chuàng)建的函數(shù)插入到列表中嗎?(Python)

我可以將使用 lambda x 創(chuàng)建的函數(shù)插入到列表中嗎?(Python)

富國滬深 2023-09-26 16:57:29
我需要構(gòu)建一個多項式函數(shù),例如 a_0 + a_1 x + a_2 x^2 ...我正在嘗試執(zhí)行整個插值過程。我有這個:def Create_F(Numero, Array):    Y = lambda x: x    Lista = list(Array)    F_x = []     for i in range(Numero):      G_x = lambda x: eval(Lista[i]*Y^i)      F_x.append(G_x)    return F_x如果我使用這個,我不會得到任何幫助:Number = 2ma = np.array([[1, 1],               [1, 2]])ly = np.array([8, -3])idk = Create_F(Number, ly)print(idk)我不知道如何評估,例如1。如果我能以更好的方式做到這一點,那將非常有幫助,完整的代碼是:import numpy as npdef Matrix_F(Num, Lx):    Vec = np.zeros((Num, Num), dtype = float)    Vec.T[1] = Lx    ex = 0    for i in range(Num):        for j in range(Num):            Vec[j][i]=Lx[j]**ex        ex += 1    return Vecdef Cramer_F(Ma, Ly):    Lc, Det = np.array(Ly), np.linalg.det(Ma)    col = len(Lc)    Values = np.zeros(col)    for i in range(col):        org = Ma.copy()        org.T[i]=Lc        Di=np.linalg.det(org)        Values[i] = Di/Det    error = np.linalg.norm(np.dot(Ma, Values)-Lc)    return Values, error    def Create_F(Numero, Array):    Y = lambda x: x    Lista = list(Array)    F_x = []     for i in range(Numero):      G_x = lambda x: eval(Lista[i]*Y^i)      F_x.append(G_x)    return F_xval = int(input('Ingrese la cantidad de valores de X y Y que posee: '))x_val = []y_val = []print('Ingrese %s valores de cada variable:' %(val))n = 1for i in range(val):    x = float(input('%s° Valor de x: '%(n)))    y = float(input('%s° Valor de y: '%(n)))    x_val.append(x)    y_val.append(y)    n += 1#Matriz del sistema:As = Matrix_F(val, x_val)#Valores de "a_n" y errora_val, er = Cramer_F(As, y_val)n=0print()for i in a_val:    print('a_%s = %.6f' %(n, i))    n += 1感謝您抽出時間!
查看完整描述

1 回答

?
慕妹3242003

TA貢獻1824條經(jīng)驗 獲得超6個贊

如果我想到了,您可能想創(chuàng)建一個多項式表示形式作為 lambda 函數(shù)。所以讓我建議替代函數(shù):


import numpy as np

def alternative_create_F(coeffs):

    Y = lambda x: sum([item*(x**iter) for iter, item in enumerate(coeffs)])

    return Y


coeffs = np.array([8, -3, 4]) # first is the free coeff second is x coeff and so on


idk = alternative_create_F(coeffs)

print(idk(3))

print(idk(6))

請注意該number變量是不相關(guān)的,因為您可以從len(coeffs).


現(xiàn)在 lambda 函數(shù)保存多項式的表示 -


coeffs[0] + coeffs[1]*x + coeffs[2]*x^2

要調(diào)用 lambda 函數(shù),請將其作為具有所需 x 值的函數(shù)來調(diào)用。從我的示例收到的輸出:


35 ===> 8+(-3)*3+4*3^2 = 8-9+36 = 35 

134 ===> 8+(-3)*6+4*6^2 = 8-18+144 = 134

希望你覺得它有用


查看完整回答
反對 回復(fù) 2023-09-26
  • 1 回答
  • 0 關(guān)注
  • 111 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號