การแก้ความต่างทางใจกับ 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)