ภาพรวม
ใช้ numpy.gradient() คำนวณ gradient ของอาร์เรย์ N มิติ ใช้ central differences order 2 ที่จุดภายใน และ one-sided differences ที่ขอบเขต ผลลัพธ์มี shape เดียวกับ input คืน list ของ ndarrays ตรงกับ derivatives ตามแต่ละ dimension
พารามิเตอร์
f: อาร์เรย์ N มิติ samples ของ scalar functionvarargs(optional): spacing ระหว่างค่า f (default = 1)edge_order(optional): {1, 2} accuracy ที่ขอบเขต (default 1)axis(optional): axis ที่คำนวณ gradient (default None = ทุก axis)
ขั้นตอนการทำงาน
1. นำเข้า NumPy
import numpy as np
2. สร้างอาร์เรย์ 1D float
arr = np.array([20, 35, 57, 70, 85, 120], dtype=float)
3. แสดงข้อมูลอาร์เรย์
print("Our Array...\n", arr)
print("\nDimensions of our Array...\n", arr.ndim)
print("\nDatatype of our Array object...\n", arr.dtype)
4. คำนวณ gradient (ทุก axis = axis 0 เพราะ 1D)
print("\nResult (gradient)...\n", np.gradient(arr))
ตัวอย่างโค้ดเต็ม
import numpy as np
arr = np.array([20, 35, 57, 70, 85, 120], dtype=float)
print("Our Array...\n", arr)
print("\nDimensions of our Array...\n", arr.ndim)
print("\nDatatype of our Array object...\n", arr.dtype)
print("\nResult (gradient)...\n", np.gradient(arr))
ผลลัพธ์
Our Array... [ 20. 35. 57. 70. 85. 120.] Dimensions of our Array... 1 Datatype of our Array object... float64 Result (gradient)... [15. 18.5 17.5 14. 25. 35. ]
คำอธิบาย: Gradient 1D ใช้ central difference: f'[i] = (f[i+1] - f[i-1]) / 2 สำหรับจุดกลาง และ forward/backward difference ที่ปลาย