Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ส่งคืนการไล่ระดับสีของอาร์เรย์ N มิติและระบุลำดับขอบใน Python


การไล่ระดับสีคำนวณโดยใช้ความแตกต่างจากศูนย์กลางที่แม่นยำลำดับที่สองในจุดภายใน และความแตกต่างด้านเดียว (ไปข้างหน้าหรือข้างหลัง) ที่ถูกต้องลำดับที่หนึ่งหรือสองที่ขอบเขต การไล่ระดับสีที่ส่งคืนจึงมีรูปร่างเหมือนกันกับอาร์เรย์อินพุต พารามิเตอร์ที่ 1 f คือ Ndimensionalarray ที่มีตัวอย่างของฟังก์ชันสเกลาร์ พารามิเตอร์ตัวที่ 2 คือ varargs เช่น ระยะห่างระหว่างค่า f ระยะห่างรวมเริ่มต้นสำหรับทุกมิติ

พารามิเตอร์ตัวที่ 3 คือ edge_order{1, 2} เช่น การไล่ระดับสีคำนวณโดยใช้ลำดับที่ N ค่าความแตกต่างที่ขอบเขต ค่าเริ่มต้น:1. พารามิเตอร์ที่ 4 คือ Gradient ซึ่งคำนวณตามแกนหรือแกนที่กำหนดเท่านั้น ค่าเริ่มต้น (แกน =ไม่มี) คือการคำนวณการไล่ระดับสีสำหรับแกนทั้งหมดของอาร์เรย์อินพุต แกนอาจเป็นลบ ซึ่งในกรณีนี้จะนับจากแกนสุดท้ายถึงแกนแรก ชุดรูปแบบส่งคืนรายการของ ndarrays ที่สอดคล้องกับอนุพันธ์ของ f เทียบกับแต่ละมิติ อนุพันธ์แต่ละตัวมีรูปร่างเหมือนกันกับ f

ขั้นตอน

ขั้นแรก นำเข้าไลบรารีที่จำเป็น -

import numpy as np

การสร้างอาร์เรย์ numpy โดยใช้เมธอด array() เราได้เพิ่มองค์ประกอบประเภททุ่น -

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, edge_order=2))

ตัวอย่าง

import numpy as np

# Creating a numpy array using the array() method
# We have added elements of float type
arr = np.array([20, 35, 57, 70, 85, 120], dtype = float)

# Display the array
print("Our Array...\n",arr)

# Check the Dimensions
print("\nDimensions of our Array...\n",arr.ndim)

# Get the Datatype
print("\nDatatype of our Array object...\n",arr.dtype)

# The gradient is computed using second order accurate central differences in the interior points and either first or second order accurate one-sides (forward or backwards) differences at the boundaries. The returned gradient hence has the same shape as the input array.
print("\nResult (gradient)...\n",np.gradient(arr, edge_order=2))

ผลลัพธ์

Our Array...
[ 20. 35. 57. 70. 85. 120.]

Dimensions of our Array...
1

Datatype of our Array object...
float64

Result (gradient)...
[11.5 18.5 17.5 14. 25. 45. ]