การสร้างพื้นที่สี่เหลี่ยมจัตุรัสเชิงตัวเลขแบบใดที่จะเลือกเพื่อรวมฟังก์ชั่นเข้ากับเอกพจน์?


9

ตัวอย่างเช่นฉันต้องการคำนวณตัวเลข L2- ไม่มี u=1(x2+y2+z2)1/3 ในบางโดเมนที่มีศูนย์ฉันลองสร้างพื้นที่สี่เหลี่ยมจัตุรัสของเกาส์และมันล้มเหลวมันค่อนข้างไกลจากของจริง L2- ไม่อยู่บนลูกบอลหน่วยโดยใช้พิกัดทรงกลมเพื่อรวมกันมีวิธีใดที่ดีในการทำเช่นนี้? ปัญหานี้มักพบในปัญหาการคำนวณองค์ประกอบของเล่นสำหรับโดเมนที่มีผู้เข้าร่วมใหม่ ขอบคุณ


2
หากที่มาอยู่ภายในโดเมนการรวมกันฉันขอแนะนำให้เลิกอินทิกรัลของคุณแล้วแปลงแต่ละอันให้เป็นพิกัดกลม?
JM

ฉันเห็นด้วยกับ JM - ถ้าคุณรู้ตำแหน่งและโครงสร้างของเอกฐานล่วงหน้าคุณควรใช้ข้อมูลโครงสร้างนั้นในการเขียนการโทรไปที่รูทีนการสร้างพื้นที่สี่เหลี่ยมจัตุรัสของคุณอย่างชาญฉลาดเทียบกับการป้อนไปยังแพ็คเกจตัวเลขและหวังว่า (ก) พบสิ่งแปลกประหลาดและ (b) ทำสิ่งที่ถูกต้องกับพวกเขา

คำตอบ:


8

คุณควรจะได้ผลลัพธ์ที่แม่นยำด้วยmpmathซึ่งเป็นโมดูล Python สำหรับการคำนวณจุดลอยตัวที่มีความแม่นยำตามอำเภอใจ มีตัวอย่างของการทำงานร่วมกับเอกในมีเอกสาร คุณจะต้องบอกให้เลิกช่วง:

from mpmath import *
f = lambda x,y,z: 1./(x**2+y**2+z**2)**1./3
quad(f,[-1,0,1],[-1,0,1],[-1,0,1])

คุณอาจต้องเพิ่มความแม่นยำ (เช่นmp.dps=30) และอาจจะช้า แต่ควรแม่นยำ

คุณสามารถลองโทรหารังของ MATLAB quadgk()ซึ่งใช้การสร้างพื้นที่สี่เหลี่ยมจัตุรัส Gauss-Kronrod แบบปรับตัวใน 1D

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.