หน่วย
1. ปัญญาประดิษฐ์เบื้องต้นในฟิสิกส์: บทบาท ขอบเขต การตรวจสอบความถูกต้องของหน่วยและผลลัพธ์ จริยธรรม 2. วิธีการคำนวณและตัวเลขด้วย Python 3. การจำลองระบบทางกายภาพ 4. การวิเคราะห์ข้อมูลการทดลองและการปรับเส้นโค้ง 5. ความไม่แน่นอน การแพร่กระจายของข้อผิดพลาด และการวิเคราะห์การวัด 6. ฟิสิกส์เชิงสัญลักษณ์: การได้มาของแบบจำลองและการแก้ปัญหาเชิงวิเคราะห์ 7. การวิเคราะห์มิติ การแปลงหน่วย และการตรวจสอบผลลัพธ์ 8. การสร้างภาพทางวิทยาศาสตร์ 9. การทบทวนวรรณกรรม การตรวจสอบแหล่งที่มา และการเขียนเชิงวิทยาศาสตร์ 10. การสอนฟิสิกส์และความเข้าใจผิด 11. ภาพหลอน จริยธรรม การรักษาความลับ และความซื่อสัตย์ทางวิทยาศาสตร์
หน่วย 3 / 11

การจำลองระบบทางกายภาพ

กำไร:

  • ความสามารถในการจำลองระบบทางกายภาพแบบไดนามิกด้วยตัวแก้ปัญหา เช่น solve_ivp และตรวจสอบความถูกต้องของการจำลองโดยการตรวจสอบพลังงานทั้งหมดหรือการอนุรักษ์โมเมนตัม
  • ความสามารถในการแยกแยะสิ่งประดิษฐ์เชิงตัวเลขจากฟิสิกส์จริงโดยการเลือกขนาดขั้นตอนด้วยการทดสอบการลู่เข้า
  • ความสามารถในการทดสอบผลการจำลองโดยการเปรียบเทียบกับสถานการณ์การวิเคราะห์ที่ทราบและสถานะขีดจำกัดทางกายภาพ

ฟิสิกส์ส่วนใหญ่เกี่ยวข้องกับระบบที่แปรผันตามเวลา เช่น ลูกตุ้มที่สั่น ดาวเคราะห์ที่โคจรอยู่ ร่างกายที่เย็นลง คลื่นที่แพร่กระจาย ระบบเหล่านี้ส่วนใหญ่อธิบายได้ด้วยสมการเชิงอนุพันธ์ กล่าวคือ สมการที่เกี่ยวข้องกับอัตราการเปลี่ยนแปลงของปริมาณ (ตำแหน่ง อุณหภูมิ) กับปริมาณนั้นเอง สมการเหล่านี้มักไม่มีวิธีแก้ปัญหาเชิงวิเคราะห์ (สูตรที่แน่นอน) แต่เราจำลอง: การเคลื่อนระบบไปข้างหน้าในระยะเวลาสั้นๆ และติดตามพฤติกรรมของระบบเป็นตัวเลข ในหน่วยนี้ คุณจะได้เรียนรู้วิธีใช้ปัญญาประดิษฐ์ (AI) เพื่อสร้างโค้ดการจำลอง และที่สำคัญที่สุดคือวิธีตรวจสอบด้วยกฎการอนุรักษ์ว่าการจำลองสะท้อนถึงฟิสิกส์ได้อย่างแม่นยำหรือไม่

แนวคิดพื้นฐานของการจำลองและบทบาทของ AI

การจำลองประกอบด้วยวงจรนี้: ใช้สถานะปัจจุบัน ใช้สมการการเปลี่ยนแปลง เคลื่อนที่ไปข้างหน้าทีละ Δt เล็กๆ แล้วทำซ้ำ AI ​​สร้างลูปนี้เร็วมาก โดยเลือกตัวแก้ที่เหมาะสม — อัลกอริธึมที่แก้สมการเชิงอนุพันธ์ทีละขั้นตอน และแก้ไขโค้ด เครื่องมือมาตรฐานของนักฟิสิกส์คือ scipy.integrate.solve_ivp (ฟังก์ชัน SciPy ที่ช่วยแก้ปัญหาค่าเริ่มต้น) แต่ก่อนที่คุณจะเชื่อถือการจำลองที่สร้างโดย AI คำถามที่คุณต้องถามคือ: การจำลองนี้จะรักษาปริมาณทางกายภาพ (พลังงาน โมเมนตัม โมเมนตัมเชิงมุม) ที่ต้องรักษาไว้หรือไม่

ระบบ

ประเภทสมการ

เกณฑ์การตรวจสอบ

ลูกตุ้มสปริง

ODE ระดับที่สอง

ความคงตัวของพลังงานทั้งหมด

วงโคจรของดาวเคราะห์

ODE แรงโน้มถ่วงของนิวตัน

โมเมนตัมเชิงมุม + การอนุรักษ์พลังงาน

เย็น/ร้อน

ODE ระดับแรก

การบรรจบกันของอุณหภูมิสมดุล

การสลายตัวของสารกัมมันตภาพรังสี

ODE เอ็กซ์โปเนนเชียล

การควบคุมครึ่งชีวิต

มอนติคาร์โล (สุ่ม)

เชิงสถิติ

การบรรจบกันกับค่าเฉลี่ย/การกระจายที่ทราบ

หมายเหตุ: ODE ย่อมาจาก "สมการเชิงอนุพันธ์สามัญ" ซึ่งเป็นสมการที่เกี่ยวข้องกับอนุพันธ์ที่เกี่ยวข้องกับตัวแปรตัวเดียว (โดยปกติคือเวลา)

ทีละขั้นตอน: การจำลองที่เชื่อถือได้

1. ชี้แจงฟิสิกส์และเงื่อนไขเริ่มต้น สมการของระบบคืออะไร? ตำแหน่งสตาร์ท ความเร็ว อุณหภูมิ อยู่ที่เท่าไร? มีหน่วยอะไรบ้าง? มอบสิ่งเหล่านี้ให้กับ AI อย่างชัดเจน

2. เลือกตัวแก้ปัญหาและขนาดขั้นตอนที่เหมาะสม ขั้นตอนของเวลาที่มีขนาดใหญ่เกินไปทำให้การจำลองไม่เสถียร (ผลลัพธ์จะระเบิดหรือฟิสิกส์แตก) ก้าวที่น้อยเกินไปก็ทำให้ช้าลงโดยไม่จำเป็น AI อาจแนะนำ แต่ควบคุมการตัดสินใจ

3.ปฏิบัติตามกฎหมายอนุรักษ์ในประมวลกฎหมาย คำนวณและพิมพ์พลังงานทั้งหมด (หรือโมเมนตัม) ตลอดการจำลอง หากเบี่ยงเบนไปในขนาดที่ควรคงที่ การจำลองจะไม่น่าเชื่อถือ

4. เปรียบเทียบกับวิธีแก้ปัญหาที่ทราบ ตัวอย่างเช่น คาบของลูกตุ้มแอมพลิจูดเล็กๆ ทราบได้จากสูตร T = 2π√(L/g) เปรียบเทียบระยะเวลาที่กำหนดโดยการจำลองกับสิ่งนี้

5. เปลี่ยนพารามิเตอร์ ทดสอบพฤติกรรม การสั่นลดลงเมื่อมีการเพิ่มแรงเสียดทานหรือไม่? วงโคจรเปลี่ยนแปลงตามที่คาดไว้เมื่อมวลเพิ่มขึ้นหรือไม่ ทดสอบด้วยสัญชาตญาณทางกายภาพ

เคล็ดลับ: เพิ่ม "ตัวติดตามพลังงาน" ในแต่ละการจำลอง: คำนวณพลังงานทั้งหมดในแต่ละขั้นตอนและพล็อตเป็นอัตราส่วนกับพลังงานเริ่มต้น ในระบบไร้แรงเสียดทาน อัตราส่วนนี้ควรคงที่ใกล้กับ 1 การดริฟท์ที่มากกว่า 1% เป็นสัญญาณว่าคุณต้องลดขนาดขั้นตอนหรือเปลี่ยนตัวแก้ปัญหา

มินิเคสสามอัน

กรณีที่ 1 — การระเบิดของพลังงาน นักเรียนคนหนึ่งจำลองวงโคจรของดาวเคราะห์ด้วยวิธีออยเลอร์ง่ายๆ (วิธีขั้นตอนดั้งเดิมที่สุด) ที่เขียนโดย AI วงโคจรค่อยๆ กว้างขึ้นเมื่อเวลาผ่านไป และดาวเคราะห์ก็ "ปลิวหายไป" ขณะที่นักเรียนตรวจดูพลังงานทั้งหมด เขาพบว่ามันเพิ่มขึ้นอย่างต่อเนื่อง ซึ่งเป็นข้อบกพร่องที่ทราบกันดีอยู่แล้วในวิธีของออยเลอร์ เขาขอให้ AI หาตัวแก้ปัญหาที่ประหยัดพลังงานได้ดีกว่า (วิธีที่เหมาะสมกว่าด้วย Sol_ivp) และวงโคจรก็อยู่ในวงรีที่เสถียร

กรณีที่ 2 — ผิดหน่วย ผิดงวด ครูพบว่าคาบเป็น 0.2 วินาทีในการจำลองลูกตุ้ม แต่ค่าที่คาดหวังคือ 2 วินาที เมื่อตรวจดูก็พบว่า AI ใส่ความยาวเป็นเซนติเมตรแล้วใช้เป็นหน่วยเมตรในสูตร ด้วยการแก้ไขหน่วย การจำลองสอดคล้องกับค่าวิเคราะห์ T = 2π√(L/g)

กรณีที่ 3 — การตรวจสอบมอนติคาร์โล นักวิจัยขอรหัสจาก AI ที่จะสุ่มตัวอย่าง (มอนติคาร์โล — การจำลองทางสถิติพร้อมตัวเลขสุ่ม) ที่กระทบกับเครื่องตรวจจับ ในการตรวจสอบผลลัพธ์ เขาทำกรณีง่ายๆ ที่ทราบกันในเชิงวิเคราะห์ (เช่น การประมาณ π ด้วยอัตราส่วนของพื้นที่ของวงกลม) ด้วยวิธีเดียวกัน เมื่อโค้ดทำนาย π ได้อย่างถูกต้อง ความมั่นใจในการจำลองจริงก็เพิ่มขึ้น นอกจากนี้เขายังตั้งข้อสังเกตด้วยว่าเมื่อจำนวนตัวอย่างเพิ่มขึ้น ผลลัพธ์ก็แคบลงและรวมเข้ากับมูลค่าที่แท้จริง

เทมเพลตที่สามารถคัดลอกได้สี่แบบ

1) การจำลองแบบติดตามการอนุรักษ์:

เขียนโค้ด Python ที่จำลองระบบฟิสิคัลต่อไปนี้ด้วย solve_ivp: [ระบบ สมการ เงื่อนไขเริ่มต้น หน่วย] ตลอดทั้งการจำลอง ให้คำนวณพลังงานทั้งหมด (และโมเมนตัม ถ้ามี) ในแต่ละขั้นตอน และพล็อตอัตราส่วนของพลังงานดังกล่าวกับค่าเริ่มต้นในช่วงเวลาหนึ่ง โปรดทราบว่าในกรณีที่ไม่มีแรงเสียดทาน อัตราส่วนนี้ควรคงที่ ~1

2) การเปรียบเทียบเชิงวิเคราะห์:

เพิ่มโค้ดที่เปรียบเทียบผลลัพธ์ของการจำลองต่อไปนี้กับโซลูชันการวิเคราะห์ที่ทราบของระบบนี้ ([สูตร]) พล็อตทั้งสองบนกราฟเดียวกันและพิมพ์ความแตกต่างสูงสุดระหว่างตัวเลขและการวิเคราะห์ รหัสจำลอง: [ที่นี่]

3) ขนาดขั้นตอน / การทดสอบความเสถียร:

เขียนโค้ดที่รันการจำลองต่อไปนี้โดยมีขั้นตอนเวลาต่างกัน (เช่น dt = 0.1, 0.01, 0.001) และแสดงให้เห็นว่าผลลัพธ์เปลี่ยนแปลงไปอย่างไร ระบุขนาดขั้นตอนที่ผลลัพธ์จะคงที่ (บรรจบกัน) รหัส: [ที่นี่]

4) การทดสอบสถานะขีดจำกัดทางกายภาพ:

แนะนำการทดสอบสถานะขีดจำกัดทางกายภาพ 3 แบบสำหรับการจำลองต่อไปนี้ (เช่น ควรอนุรักษ์พลังงานเมื่อแรงเสียดทานเป็นศูนย์ หยุดอย่างรวดเร็วเมื่อมีแรงเสียดทานมาก ระยะเวลาควรเปลี่ยนแปลงอย่างไรเมื่อมวลเพิ่มขึ้นเป็นสองเท่า) เขียนผลลัพธ์ที่คาดหวังของการทดสอบแต่ละครั้งในหนึ่งประโยค รหัส: [ที่นี่]

พรอมต์อ่อน / พรอมต์แรง

จุดอ่อน: "เขียนแบบจำลองลูกตุ้ม"
ผลลัพธ์: รหัสที่ไม่มีหน่วย ไม่มีการตรวจสอบ ไม่มีการตรวจสอบการอนุรักษ์ ยังไม่ชัดเจนว่าสะท้อนถึงฟิสิกส์หรือไม่
Strong: "Write a solve_ivp code that simulates a simple pendulum of length L = 1 m, starting angle 10°, with g = 9.81 m/s² for 10 seconds. Monitor the total energy at each step and plot the ratio to the start. Compare the measured period with the small amplitude formula T = 2π√(L/g) and print the difference."
ผลลัพธ์: การจำลองที่เชื่อถือได้พร้อมหน่วย การติดตามการอนุรักษ์ และการเปรียบเทียบกับค่าการวิเคราะห์

ข้อผิดพลาดทั่วไป

  • ไม่ปฏิบัติตามกฎการอนุรักษ์ หากพลังงานหรือโมเมนตัมลอยไป การจำลองจะผิด การเชื่อถือผลลัพธ์โดยไม่เห็นสิ่งนี้ถือเป็นข้อผิดพลาดที่พบบ่อยที่สุด
  • การเลือกขนาดขั้นตอนโดยพลการ ก้าวที่ใหญ่เกินไปทำให้เกิดความไม่แน่ใจ ก้าวที่เล็กเกินไปทำให้เกิดต้นทุนที่ไม่จำเป็น การทดสอบการลู่เข้าถือเป็นสิ่งสำคัญ
  • ไม่ทำการเปรียบเทียบเชิงวิเคราะห์ โดยไม่ต้องเปรียบเทียบกับกรณีพิเศษที่ทราบ (แอมพลิจูดต่ำ สถานะไร้แรงเสียดทาน) การจำลองยังคงไม่ได้รับการดูแล
  • การเข้าใจผิดข้อบกพร่องเชิงตัวเลขสำหรับฟิสิกส์ พฤติกรรมเช่นการขยายตัวของวงโคจรมักเป็นข้อบกพร่องของวิธีการ ไม่ใช่ฟิสิกส์ที่แท้จริง
  • การกำหนดจำนวนตัวอย่างในการจำลองแบบสุ่ม เป็นเรื่องเข้าใจผิดที่จะเพิ่มจำนวนตัวอย่างในมอนติคาร์โลและอาศัยผลลัพธ์เดียวโดยไม่เห็นการบรรจบกัน
ข้อควรระวัง: เพียงเพราะการจำลองสร้าง "กราฟที่สวยงาม" ไม่ได้หมายความว่ามันถูกต้อง ภาพดูน่าเชื่อถือแต่หลอกลวง ก่อนที่จะเชื่อถือการจำลอง อย่าลืมปฏิบัติตามกฎหมายอนุรักษ์และเปรียบเทียบกับสถานการณ์ที่ทราบ การจำลองที่ไม่ได้รับการยืนยันไม่ใช่หลักฐานทางกายภาพ

โดยสรุป

การจำลองเป็นวิธีที่มีประสิทธิภาพในการทำความเข้าใจระบบทางกายภาพแบบไดนามิกที่ขาดโซลูชันเชิงวิเคราะห์ และสร้างโค้ดการจำลอง AI ได้อย่างรวดเร็ว แต่คุณค่าของการจำลองนั้นขึ้นอยู่กับว่าสะท้อนฟิสิกส์ได้แม่นยำหรือไม่ The way to ensure this is to follow conservation laws, select the appropriate step size by convergence testing, compare the result with known analytical cases, and test physical limit cases. ในหน่วยถัดไป เราจะเปลี่ยนโฟกัสจากข้อมูลที่สร้างขึ้นเป็นการวิเคราะห์ข้อมูลการทดลองจริง

งานสมัคร

เลือกระบบไดนามิกแบบง่าย (ลูกตุ้ม การตกอย่างอิสระ + แรงต้านอากาศหรือความเย็น) ด้วยเทมเพลต 1 ให้พิมพ์และเรียกใช้โค้ดการจำลองที่มีการอนุรักษ์หรือการตรวจสอบความสมดุลใน AI ตรวจสอบว่าปริมาณที่ได้รับการตรวจสอบ (พลังงานหรืออุณหภูมิ) ทำงานตามที่คาดไว้หรือไม่ จากนั้นเปลี่ยนพารามิเตอร์ (แรงเสียดทาน มวล ขนาดขั้น) และดูว่าการเปลี่ยนแปลงพฤติกรรมสอดคล้องกับสัญชาตญาณทางกายภาพของคุณหรือไม่ เขียนลงใน 5-6 ประโยค

รายการตรวจสอบ

  • [ ] ฉันชี้แจงสมการ เงื่อนไขเริ่มต้น และหน่วยของระบบแล้ว
  • [ ] ฉันปฏิบัติตามกฎการอนุรักษ์ (พลังงาน/โมเมนตัม) ในการจำลอง
  • [ ] ฉันตรวจสอบขนาดขั้นตอนด้วยการทดสอบการลู่เข้า
  • [ ] ฉันเปรียบเทียบผลลัพธ์กับสถานการณ์การวิเคราะห์ที่ทราบ
  • [ ] ฉันได้ทำการทดสอบสถานะขีดจำกัดทางกายภาพอย่างน้อยหนึ่งครั้ง
  • [ ] ฉันแยกแยะข้อบกพร่องเชิงตัวเลขจากฟิสิกส์จริง