目錄
lambda基礎知識
?代碼
核心算法:
lambda基礎知識
lambda 是 Python 中的一個關鍵字,用于創建匿名函數。匿名函數是一種沒有具體名稱的小型、臨時的函數,通常用于一次性的、簡單的操作。lambda 函數的語法如下:python Copy code lambda arguments: expression lambda:關鍵字,用于聲明匿名函數。 arguments:參數列表,類似于普通函數的參數列表。 expression:函數體,即返回值的表達式。 舉例說明:python Copy code # 使用普通函數的方式定義 def add(x, y):return x + y# 使用 lambda 表達式定義 add_lambda = lambda x, y: x + y# 調用普通函數 result_normal = add(2, 3)# 調用 lambda 函數 result_lambda = add_lambda(2, 3)print(result_normal) # 輸出:5 print(result_lambda) # 輸出:5 在上面的例子中,add_lambda 是一個使用 lambda 表達式定義的匿名函數,它與普通函數 add 具有相同的功能。lambda 函數通常用于函數體比較簡單的情況,例如在函數式編程、map、filter、sorted 等函數中作為參數傳遞。d代碼
?代碼
import matplotlib.pyplot as plt
import numpy as np# 構建方程
f = lambda x: (x - 3.5) ** 2 - 4.5 * x + 10# 導函數
g = lambda x: 2 * (x - 3.5) - 4.5x = np.linspace(0, 10, 1000)y = f(x)plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('f(x)')
plt.title('Plot of the function f(x)')
plt.grid(True)
plt.show()#常規方法:另導數為0可以求解函數,x = 5.75#如果沒有確切方程,或者無法求導,梯度下降算法#學習率
eta = 0.3#隨機初始值
x = np.random.random_integers(0,12,1)[0]last_x = x + 0.1#精確度
precision = 0.00001print('隨機x為:' , x)while True:if np.abs(x - last_x) < precision:breaklast_x = xx = x - eta * g(x)print('更新后x為',x)