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

การปริพันธ์เชิงตัวเลขด้วยกฎสี่เหลี่ยมคางหมูแบบรวมใน Python


บทนำ

เพื่อปริพันธ์ตามแกนที่กำหนดโดยใช้กฎสี่เหลี่ยมคางหมูแบบรวม (composite trapezoidal rule) ให้ใช้เมธอด numpy.trapz() หากมีการระบุ x การปริพันธ์จะเกิดขึ้นตามลำดับตามองค์ประกอบของมัน - พวกมันไม่ได้ถูกเรียงลำดับ เมธอดนี้ส่งคืนปริพันธ์ xác địnhของ 'y' = อาร์เรย์ n มิติ ที่ประมาณค่าตามแกนเดียวโดยกฎสี่เหลี่ยมคางหมู หาก 'y' เป็นอาร์เรย์ 1 มิติ ผลลัพธ์จะเป็น float หาก 'n' มากกว่า 1 ผลลัพธ์จะเป็นอาร์เรย์ 'n-1' มิติ

พารามิเตอร์แรก y คืออาร์เรย์อินพุทที่จะปริพันธ์ พารามิเตอร์ที่สอง x คือจุดตัวอย่างที่สอดคล้องกับค่า y หาก x เป็น None จุดตัวอย่างจะถูกสมมติว่าห่างกัน dx อย่างสม่ำเสมอ ค่าเริ่มต้นคือ None พารามิเตอร์ที่สาม dx คือระยะห่างระหว่างจุดตัวอย่างเมื่อ x เป็น None ค่าเริ่มต้นคือ 1 พารามิเตอร์ที่สี่ axis คือแกนที่จะปริพันธ์ตามไป

ขั้นตอน

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

import numpy as np

สร้างอาร์เรย์ NumPy โดยใช้เมธอด array() เราได้เพิ่มองค์ประกอบแบบ int:

arr = np.array([20, 35, 57, 70, 85, 120])

แสดงอาร์เรย์:

print("อาร์เรย์ของเรา...\n", arr)

ตรวจสอบมิติ:

print("\nมิติของอาร์เรย์...\n", arr.ndim)

ดูชนิดข้อมูล:

print("\nชนิดข้อมูลของออบเจกต์อาร์เรย์...\n", arr.dtype)

เพื่อปริพันธ์ตามแกนที่กำหนดโดยใช้กฎสี่เหลี่ยมคางหมูแบบรวม ให้ใช้เมธอด numpy.trapz():

print("\nผลลัพธ์ (trapz)...\n", np.trapz(arr))

ตัวอย่างโค้ดสมบูรณ์

import numpy as np
# สร้างอาร์เรย์ NumPy โดยใช้เมธอด array()
# เราได้เพิ่มองค์ประกอบแบบ int
arr = np.array([20, 35, 57, 70, 85, 120])
# แสดงอาร์เรย์
print("อาร์เรย์ของเรา...\n", arr)
# ตรวจสอบมิติ
print("\nมิติของอาร์เรย์...\n", arr.ndim)
# ดูชนิดข้อมูล
print("\nชนิดข้อมูลของออบเจกต์อาร์เรย์...\n", arr.dtype)
# เพื่อปริพันธ์ตามแกนที่กำหนดโดยใช้กฎสี่เหลี่ยมคางหมูแบบรวม ใช้ numpy.trapz()
print("\nผลลัพธ์ (trapz)...\n", np.trapz(arr))

ผลลัพธ์

อาร์เรย์ของเรา...
 [ 20  35  57  70  85 120]
มิติของอาร์เรย์...
 1
ชนิดข้อมูลของออบเจกต์อาร์เรย์...
 int64
ผลลัพธ์ (trapz)...
 317.0