การแก้ความต่างทางใจกับ Numpy และ Spipiy: เข้าสู่เส้นทางเดินแบบก้าวต่อก้าว

สมการอนุพันธ์บางส่วน (PDES) เป็นพื้นฐานในการจําลองปรากฏการณ์ทางกายต่าง ๆ เช่น การถ่ายเทความร้อน การแผ่รังสีของคลื่น และแรงกระบังน้ํา โดยใช้ไลบรารี Python เช่น NumPy และ SciPy ช่วยลดกระบวนการในการแก้ปัญหาในเชิงตัวเลข บทความนี้จะให้วิธีการแก้ปัญหา PREs ด้วยเครื่องมือเหล่านี้

การ จัด การ ปัญหา

เริ่มจากนิยาม PDA และโดเมน ตัวอย่างเช่น สมการความร้อนแบบหนึ่งมิติ:

[FLT: 0][FLT: 0][FLT]] ⁇ / ⁇ ⁇ ⁇ ⁇ / ⁇ x2[

ระบุเงื่อนไขเริ่มต้น, เงื่อนไขขอบเขต, และพารามิเตอร์เช่น การกระจายของความร้อน[FLT: 0] อนุมาน.

การแยกโดเมนออก

แบ่งโดเมนเป็นจุดไม่ต่อเนื่องโดยใช้ nuPy Aries ตัวอย่างเช่น สร้างตารางจุด:

[FLT: 0]. import nupy เป็น np

[FLT: 0] x = np.linspace(0, 100)

กําหนดเวลาขั้นตอนและเวลาจําลองทั้งหมด เพื่อควบคุมเสถียรภาพตัวเลขและแม่นยํา

การ ทํา ให้ วิธี การ คิด เชิง เลข สําเร็จ

ใช้วิธีการความต่างอย่างจํากัดในการประมาณอนุพันธ์ สําหรับสมการความร้อน แผนผังที่ตรงจะปรับปรุงอุณหภูมิที่แต่ละจุด:

[FLT: 0] u n=u+r * - 2*u[i] + u[i-1]]]

โดย เป็นพารามิเตอร์เสถียรภาพที่ถูกคํานวณเป็น ยูนิชัน *dt / dx2.

กําลังประมวลผลจําลอง

ใช้ การ ผ่าตัด นัม พี เพื่อ ประสิทธิภาพ:

[FLT: 0] สําหรับ n ในระยะ (ขั้นตอน):

& nbsp;  u[1:-1] = u[1:-1] + r * (u[2] - 2*1[1] + u[2]

ปรับใช้ขอบเขตเงื่อนไขหลังจากที่การปรับปรุงแต่ละ เพื่อรักษาเงื่อนไขปัญหา

ผล การ ฉาย ภาพ

ใช้ไลบรารีเช่น มัตโลตลีบ เพื่อสร้างภาพการกระจายอุณหภูมิในช่วงเวลาอื่น ๆ. วางตําแหน่ง รัฐแรกและรัฐสุดท้ายเพื่อสังเกตกระบวนการกระจายข้อมูล.

รหัสตัวอย่าง:

[FLT: 0]. import tplotlip.ppot เป็น plat

[FLT: 0].plot(x, u)