การรวมตัวเลขของฟังก์ชั่นที่รองรับขนาดกะทัดรัดบนสามเหลี่ยม


10

ตามชื่อเรื่องฉันกำลังพยายามคำนวณอินทิกรัลของฟังก์ชันที่รองรับอย่างแน่นหนา (พหุนาม quintic ของเวนด์แลนด์) บนสามเหลี่ยม ขอให้สังเกตว่าศูนย์กลางของฟังก์ชั่นอยู่ที่ใดที่หนึ่งในพื้นที่ 3-D ฉันรวมฟังก์ชั่นนี้เข้าด้วยกัน แต่เป็นรูปสามเหลี่ยมขนาดเล็ก ( ) ฉันกำลังใช้การรวมที่อธิบายโดย Dunavant, 1985 (p = 19)area<(radius/4)22

อย่างไรก็ตามดูเหมือนว่ากฎการสร้างพื้นที่สี่เหลี่ยมจัตุรัสเหล่านี้ไม่เหมาะกับปัญหาที่ได้รับการสนับสนุนอย่างกะทัดรัด สิ่งนี้ได้รับการสนับสนุนจากความจริงที่ว่าเมื่อฉันรวม (ดังนั้นฟังก์ชั่นที่ 1 ภายในวงกลมรัศมี 1) บนระนาบที่ discretized โดยใช้รูปสามเหลี่ยมผลลัพธ์ (ปกติ) ของฉันอยู่ระหว่าง 1.001 และ 0.897f(r)=[r1]

ดังนั้นคำถามของฉันคือมีกฎการสร้างพื้นที่สี่เหลี่ยมจัตุรัสเฉพาะสำหรับปัญหาชนิดนี้หรือไม่? กฎการรวมคอมโพสิตคำสั่งซื้อที่ต่ำลงจะทำงานได้ดีขึ้นหรือไม่

น่าเสียดายที่รูทีนนี้สำคัญมากในโค้ดของฉันดังนั้นความแม่นยำจึงมีความสำคัญ ในอีกทางหนึ่งฉันต้องทำการรวมนี้ "สองสามครั้ง" สำหรับขั้นตอนเดียวดังนั้นค่าใช้จ่ายในการคำนวณไม่ควรสูงเกินไป การทำให้เป็นคู่ขนานไม่ใช่ปัญหาเพราะฉันจะดำเนินการรวมตัวเองเป็นอนุกรม

ขอบคุณล่วงหน้าสำหรับคำตอบของคุณ

แก้ไข: พหุนาม quintic ของเวนด์แลนด์ได้รับจากด้วยและโดยที่r_0เป็นเวกเตอร์โดยพลการใน\ mathbb {R} ^ 3α=21W(q)=[q2]αh3(1q2)4(2q+1)α=2116πq=rr0hR 3r0R3

EDIT2: ถ้าΔเป็นสามเหลี่ยมสองมิติฉันต้องการคำนวณΔω(r)drพร้อมω(r)=W(rr0h) . ดังนั้นqในWจะไม่เล็กกว่า 0 โปรดทราบว่าอินทิกรัลคืออินทิกรัลอินทิกรัลเหนือพื้นผิว 2-D ในR3

EDIT3: ฉันมีวิธีวิเคราะห์ปัญหา 1-D (บรรทัด) การคำนวณหนึ่งสำหรับ 2-D (สามเหลี่ยม) อาจเป็นไปได้เช่นกัน


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

แก้ไขตามที่ร้องขอ
Azrael3000

คำตอบ:


4

เนื่องจากฟังก์ชั่นนั้นราบรื่นภายในแต่ไม่ใช่ระดับคงที่ (ในระนาบนั่นคือ) ฉันขอแนะนำให้ใช้รูปแบบการปรับตัวที่ง่ายเช่นกฎ Trapezoidalกับวิธีของ Rombergq2ทั้งสองมิติ

นั่นคือถ้าสามเหลี่ยมของคุณจะถูกกำหนดโดยจุด ,และและคุณมีงานประจำซึ่งรวมตามแนวจากการที่คุณสามารถทำต่อไปนี้ (ในสัญกรณ์ Matlab):y z R 3xyzR3romb(f,a,b)fab

int = romb( @(xi) romb( W , xi , y+(z-y)*(xi-x)./(z-x) ) , x , z );

ในrombอย่าใช้จำนวนคะแนนคงที่ แต่ให้เพิ่มจำนวนขึ้นเรื่อย ๆ จนกว่าความแตกต่างระหว่างสองเส้นทแยงมุมต่อเนื่องกันจะต่ำกว่าเกณฑ์ที่คุณต้องการ เนื่องจากฟังก์ชั่นของคุณราบรื่นนี่น่าจะเป็นการประมาณความผิดพลาดที่ดี

หากส่วนต่าง ๆ ของรูปสามเหลี่ยมอยู่นอกโดเมนของคุณสามารถลองปรับขีด จำกัด ของการรวมในรหัสด้านบนได้W(q)

นี่อาจไม่ใช่วิธีที่มีประสิทธิภาพที่สุดในการแก้ปัญหาของคุณ แต่การปรับตัวจะทำให้คุณมีความแข็งแกร่งมากกว่ากฎตายตัว


ฟังก์ชั่นเป็น smmoth ทุกที่ยกเว้นสำหรับ 0 พื้นที่ใกล้เคียงของจุดนี้ทำให้เกิดปัญหา q=0
Arnold Neumaier

อาสลายตัวเป็นปัญหา 1-D สองรายการไม่ใช่ความคิดที่ไม่ดีเลย เพราะมีสิ่งหนึ่งที่ฉันไม่ได้บอกคุณ ฉันมีโซลูชันการวิเคราะห์ใน 1-D ดังนั้นฉันจึงสามารถแทนที่สุสานภายในด้วยฟังก์ชันวิเคราะห์ ฉันจะให้ shot +1 แล้ว
Azrael3000

@ArnoldNeumaier ฉันขอโทษฉันไม่เห็นว่าเป็นไปได้ คุณช่วยอธิบายได้ไหม
Pedro

ราบรื่นเหมือนฟังก์ชันของแต่เป็นฟังก์ชันที่ไม่นุ่มนวลของและการรวมกันมีค่ามากกว่าเท่าที่ฉันเข้าใจคำถาม ฟังก์ชั่นคอมโพสิตจึงเป็นฟังก์ชั่นของ nonsmooth Rq r r rqqrrr
Arnold Neumaier

1
@ เปโดรฉันใช้มันและมันทำงานได้อย่างมีเสน่ห์ ที่จริงแล้วเรายังพบโซลูชันการวิเคราะห์ในวันนี้ แต่นี่เป็นเพียงกรณีพิเศษที่สามารถใช้เพื่อสร้างใหม่ทั่วไป นั่นหมายความว่าเราต้องทำการย่อยสลายโดเมน ตั้งแต่ Romberg มาบรรจบกันในประมาณ 4 ขั้นตอนฉันคิดว่าด้วยเหตุนี้มันจะเร็วกว่าการใช้สูตรการวิเคราะห์ และตาม Wikipedia เราสามารถทำได้ดีกว่า Romberg เมื่อใช้ชื่อที่ประกอบด้วยหลาย ๆ เหตุผล คุณจะพบชื่อของคุณในเอกสารตอบรับถัดไปของฉัน :) ไชโย
Azrael3000

2

สำหรับภาพรวมที่ดีของกฎคิวบ์ดูที่ "R. Cools สารานุกรมสูตร Cubature J. Complexity, 19: 445-453, 2003" การใช้กฎแบบตายตัวสามารถให้ประโยชน์กับคุณที่กฎบางข้อรวมชื่อพหุนามอย่างแน่นอน

Cools ยังเป็นหนึ่งในผู้แต่งหลักของCUBPACKซึ่งเป็นชุดซอฟต์แวร์สำหรับคิวบ์เชิงตัวเลข


ฉันคิดว่าปัญหาตรงนี้คือฟังก์ชันนั้นเป็นพหุนามของแต่เป็นฟังก์ชันที่ไม่ใช่เชิงเส้นในพิกัดเชิงพื้นที่ ฟังก์ชันนั้นเรียบจนถึงขอบของฟังก์ชันพื้นฐาน แต่ไม่ใช่พหุนามยกเว้นตามแกน คิวqq
Pedro

นี่คือโดรที่ถูกต้อง
Azrael3000

อาโอเค. ความผิดพลาดของฉัน. ขอโทษ
GertVdE

2

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

ในกรณีของคุณไม่ถูกต้องมาจากความจริงที่ว่าข้อสันนิษฐานของ approximability พหุนามดีล้มเหลวในกรณีของคุณสำหรับรูปสามเหลี่ยมใกล้แม้ในขณะที่พวกเขาไม่ได้มีr_0r 0r0r0

Q Q R R R 0 R RWเป็นไปอย่างราบรื่นเป็นหน้าที่ของแต่เป็นฟังก์ชั่นของ nonsmoothกับการไล่ระดับสีที่จะกลายเป็นไม่มีที่สิ้นสุดในวงเงินr_0 บูรณาการที่มีมากกว่าและฟังก์ชั่นคอมโพสิตเป็นฟังก์ชัน nonsmooth ของRqqrrr0rr

หากรูปสามเหลี่ยมไม่มีฟังก์ชันคือแต่สิ่งนี้ไม่ช่วยเพราะอนุพันธ์ที่สูงกว่านั้นเติบโตใกล้กับอย่างรวดเร็วและความผิดพลาดของวิธีการเรียงลำดับที่สูงนั้นแปรผันกับอนุพันธ์ลำดับสูงดังนั้นจึงมีขนาดใหญ่มาก !C i n f r 0r0Cinfr0

วิธีการรักษาที่ง่ายคือการแบ่งสามเหลี่ยม T แต่ละอันออกเป็นจำนวน N_T ของคำบรรยายย่อย คุณสามารถใช้ห่างไกลจากและใกล้กับr_0คุณสามารถเข้าใจว่าใหญ่สำหรับสามเหลี่ยมที่มีเส้นผ่านศูนย์กลางและระยะทางที่กำหนดจากเพื่อให้ได้ความแม่นยำที่ต้องการ ยิ่งกว่านั้นคุณควรใช้สูตรที่มีลำดับต่ำใกล้กับเท่านั้นR 0 N T » 1 R 0 N T R 0 R 0NT=1r0NT1r0NTr0r0

ในขณะที่คุณบูรณาการมากกว่าสามเหลี่ยม แต่คือ 3 มิติรูปสามเหลี่ยมที่เห็นได้ชัดคือใน 3R 3r0R3

การรักษาที่เร็วขึ้นจึงจัดระเบียบอินทิกรัลสำหรับเป็นฟังก์ชั่นของพิกัดสามเหลี่ยม (ปรับให้เป็นมาตรฐานโดยการหมุนมันเป็น 2 มิติ -plane เพื่อให้จุดยอดหนึ่งอยู่บน -axis และสะท้อนให้เห็นว่าวินาที จุดสุดยอดอยู่เหนือมัน) ตารางนี้จะต้องมีรายละเอียดเพียงพอที่จะทำให้การแก้ไขเชิงเส้นหรือกำลังสองสมการที่ถูกต้องเพียงพอ แต่คุณสามารถใช้เมธอดช้าที่ระบุไว้ก่อนเพื่อสร้างตารางนี้x y xr0=0xyx

วิธีการกำจัดของปัญหาอีกประการหนึ่งคือการใช้ฟังก์ชั่นได้รับการสนับสนุนดานพื้นฐานรัศมีที่เป็นพหุนามในมากกว่าQนี่คือราบรื่นทุกที่และง่ายต่อการรวม qq2q


ฉันคิดว่ามีความเข้าใจผิดเล็กน้อย ฉันอัปเดตคำอธิบายคำถามของฉัน ตามความเป็นจริงในอินทิกรัลไม่สามารถมีขนาดเล็กกว่า 0 และไม่จำเป็นต้องอยู่ในรูปสามเหลี่ยม r 0qr0
Azrael3000

การเพิ่มใหม่ของคุณไม่สมเหตุสมผลสำหรับฉัน หากแล้วดังนั้นไม่ต้องเป็นRหรือคุณรวมเข้ากับสามเหลี่ยมสองมิติในหรือไม่? - ฉันไม่คิดว่าอยู่ในรูปสามเหลี่ยม ฉันเพิ่งเพิ่มรายละเอียดในคำตอบของฉันในอีกสักครู่ r R 3 r 0r0R3rR3r0
Arnold Neumaier

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