บทนำ
เกรเดียนถูกคำนวณโดยใช้ความต่างกลางอันดับสองที่แม่นยำ (second order accurate central differences) ที่จุดภายใน และความต่างด้านเดียว (forward หรือ backwards) อันดับหนึ่งหรือสองที่แม่นยำที่ขอบเขต อาร์เรย์เกรเดียนที่ส่งคืนจึงมีรูปร่างเหมือนกับอาร์เรย์อินพุท พารามิเตอร์แรก f คืออาร์เรย์ N มิติที่มีตัวอย่างของฟังก์ชันสเกลาร์ พารามิเตอร์ที่สองคือ varargs คือระยะห่างระหว่างค่า f ค่าเริ่มต้นคือระยะห่างหน่วยสำหรับทุกมิติ
พารามิเตอร์ที่สามคือ edge_order {1, 2} คือ เกรเดียนคำนวณโดยใช้ความต่างอันดับ N ที่แม่นยำที่ขอบเขต ค่าเริ่มต้น: 1 พารามิเตอร์ที่สี่คือ axis เกรเดียนคำนวณเฉพาะตามแกนที่กำหนด ค่าเริ่มต้น (axis=None) คือคำนวณเกรเดียนสำหรับทุกแกนของอาร์เรย์อินพุท axis อาจเป็นลบ ซึ่งนับจากแกนสุดท้ายไปแกนแรก เมธอดส่งคืนรายการของ ndarrays ที่สอดคล้องกับอนุพันธ์ของ f เทียบกับแต่ละมิติ แต่ละอนุพันธ์มีรูปร่างเหมือนกับ f
ขั้นตอน
ขั้นแรก ให้นำเข้าไลบรารีที่จำเป็น:
import numpy as np
สร้างอาร์เรย์ NumPy โดยใช้เมธอด array() เราได้เพิ่มองค์ประกอบแบบ float:
arr = np.array([20, 35, 57, 70, 85, 120], dtype=float)
แสดงอาร์เรย์:
print("อาร์เรย์ของเรา...\n", arr)
ตรวจสอบมิติ:
print("\nมิติของอาร์เรย์...\n", arr.ndim)
ดูชนิดข้อมูล:
print("\nชนิดข้อมูลของออบเจกต์อาร์เรย์...\n", arr.dtype)
เกรเดียนถูกคำนวณโดยใช้ความต่างกลางอันดับสองที่แม่นยำที่จุดภายใน และความต่างด้านเดียวอันดับหนึ่งหรือสองที่แม่นยำที่ขอบเขต อาร์เรย์เกรเดียนที่ส่งคืนจึงมีรูปร่างเหมือนกับอาร์เรย์อินพุท:
print("\nผลลัพธ์ (เกรเดียน)...\n", np.gradient(arr, edge_order=2))
ตัวอย่างโค้ดสมบูรณ์
import numpy as np
# สร้างอาร์เรย์ NumPy โดยใช้เมธอด array()
# เราได้เพิ่มองค์ประกอบแบบ float
arr = np.array([20, 35, 57, 70, 85, 120], dtype=float)
# แสดงอาร์เรย์
print("อาร์เรย์ของเรา...\n", arr)
# ตรวจสอบมิติ
print("\nมิติของอาร์เรย์...\n", arr.ndim)
# ดูชนิดข้อมูล
print("\nชนิดข้อมูลของออบเจกต์อาร์เรย์...\n", arr.dtype)
# เกรเดียนถูกคำนวณโดยใช้ความต่างกลางอันดับสองที่แม่นยำที่จุดภายใน และความต่างด้านเดียวอันดับหนึ่งหรือสองที่แม่นยำที่ขอบเขต
# อาร์เรย์เกรเดียนที่ส่งคืนจึงมีรูปร่างเหมือนกับอาร์เรย์อินพุท
print("\nผลลัพธ์ (เกรเดียน)...\n", np.gradient(arr, edge_order=2))
ผลลัพธ์
อาร์เรย์ของเรา... [ 20. 35. 57. 70. 85. 120.] มิติของอาร์เรย์... 1 ชนิดข้อมูลของออบเจกต์อาร์เรย์... float64 ผลลัพธ์ (เกรเดียน)... [11.5 18.5 17.5 14. 25. 45. ]