คำถามติดแท็ก ode

Ordinary Differential Equations (ODEs) มีฟังก์ชั่นของตัวแปรอิสระเพียงตัวเดียวและอนุพันธ์หนึ่งตัวหรือมากกว่านั้นเมื่อเทียบกับตัวแปรนั้น แท็กนี้มีไว้สำหรับคำถามเกี่ยวกับการสร้างแบบจำลองปรากฏการณ์ที่มี ODEs การแก้ไข ODE และด้านอื่น ๆ ที่เกี่ยวข้อง

17
มีตัวแก้ปัญหาการเขียนโปรแกรมแบบไม่เชิงเส้นคุณภาพสูงสำหรับ Python หรือไม่?
ฉันมีปัญหาการเพิ่มประสิทธิภาพทั่วโลกที่ไม่ท้าทายเพื่อแก้ปัญหา ปัจจุบันผมใช้กล่องเครื่องมือเพิ่มประสิทธิภาพของ MATLAB (โดยเฉพาะfmincon()กับอัลกอริทึม = 'sqp') ซึ่งมีประสิทธิภาพมาก อย่างไรก็ตามรหัสของฉันส่วนใหญ่อยู่ใน Python และฉันก็ชอบที่จะเพิ่มประสิทธิภาพใน Python ด้วยเช่นกัน มีตัวแก้ NLP ที่มีการผูก Python ที่สามารถแข่งขันได้fmincon()หรือไม่ มันจะต้อง สามารถรับมือกับความไม่เสมอภาคและความไม่เท่าเทียมกันได้ ไม่ต้องการให้ผู้ใช้จัดหายาโคบ ไม่เป็นไรหากไม่รับประกันว่าจะมีประสิทธิภาพระดับโลก ( fmincon()ไม่) fmincon()ฉันกำลังมองหาบางสิ่งบางอย่างที่ทนทานลู่ไปยังท้องถิ่นที่เหมาะสมแม้สำหรับความท้าทายปัญหาและแม้ว่ามันจะช้ากว่าเล็กน้อย ฉันได้พยายามแก้หลายที่ให้บริการผ่าน OpenOpt และพบว่าพวกเขาจะด้อยกว่าของ fmincon/sqpMATLAB เพียงเพื่อเน้นฉันมีสูตรเวิ้งว้างและแก้ปัญหาที่ดี เป้าหมายของฉันคือการเปลี่ยนภาษาเพื่อให้เวิร์กโฟลว์มีความคล่องตัวมากขึ้น เจฟฟ์ชี้ให้เห็นว่าคุณลักษณะบางอย่างของปัญหาอาจเกี่ยวข้องกัน พวกเขาคือ: 10-400 ตัวแปรการตัดสินใจ 4-100 ข้อ จำกัด ความเท่าเทียมกันของพหุนาม (ดีกรีพหุนามมีช่วงตั้งแต่ 1 ถึงประมาณ 8) จำนวนข้อ จำกัด ของความไม่เท่าเทียมกันที่มีเหตุผลเท่ากับจำนวนตัวแปรการตัดสินใจประมาณสองเท่า ฟังก์ชั่นวัตถุประสงค์เป็นหนึ่งในตัวแปรการตัดสินใจ ชาวจาโคเบียนแห่งข้อ จำกัด ความเท่าเทียมมีความหนาแน่นสูงเช่นเดียวกับชาวจาโคเบียนแห่งข้อ จำกัด …

3
สถานะของศิลปะในวิธีการ ODE แบบขนานคืออะไร
ฉันกำลังค้นหาวิธีการแบบขนานสำหรับการรวม ODE มีวรรณกรรมทั้งเก่าและใหม่มากมายที่อธิบายถึงแนวทางที่หลากหลาย แต่ฉันไม่พบบทความสำรวจหรือภาพรวมล่าสุดที่อธิบายหัวข้อโดยทั่วไป มีหนังสือของ Burrage [1] แต่เกือบ 20 ปีแล้วดังนั้นจึงไม่ครอบคลุมความคิดที่ทันสมัยกว่าเช่นอัลกอริทึมการเปรียบเทียบ [1] K. Burrage, วิธีขนานและลำดับสำหรับสมการเชิงอนุพันธ์สามัญ, Clarendon Press, Oxford, 1995

3
หนึ่งจะทดสอบการใช้งานตัวแก้ ODE เชิงตัวเลขได้อย่างไร
คำถามนี้ถูกย้ายจาก Mathematics Stack Exchange เนื่องจากสามารถตอบได้ใน Computational Science Exchange Exchange อพยพ 6 ปีที่แล้ว ฉันกำลังจะเริ่มต้นทำงานกับห้องสมุดซอฟต์แวร์ของตัวแก้ ODE ที่เป็นตัวเลขและฉันกำลังดิ้นรนกับวิธีการสร้างแบบทดสอบสำหรับการใช้งานตัวแก้ปัญหา ความใฝ่ฝันของฉันอยู่ที่ห้องสมุดในที่สุดจะรวมถึงการแก้สำหรับทั้งปัญหา nonstiff และแข็งและอย่างน้อยหนึ่งแก้นัย (มากหรือน้อยในหุ้นที่มีความสามารถของกิจวัตรใน Matlab ) เพื่อตอบสนองความต้องการวิธีการทดสอบเพื่อสะท้อนให้เห็นถึงต่างๆ ประเภทของปัญหาและเกณฑ์สำหรับนักแก้ปัญหาต่าง ๆode ปัญหาของฉันตอนนี้คือฉันไม่รู้ว่าจะเริ่มต้นด้วยการทดสอบนี้ได้ที่ไหน ฉันสามารถคิดถึงวิธีที่แตกต่างกันสองสามวิธีในการทดสอบผลลัพธ์ของอัลกอริทึม: ทดสอบปัญหาที่มีโซลูชันวิเคราะห์และตรวจสอบว่าโซลูชันตัวเลขอยู่ในระดับที่ยอมรับได้สำหรับจุดข้อมูลที่ส่งคืนทั้งหมด สิ่งนี้ต้องการความรู้เกี่ยวกับปัญหาการวิเคราะห์จำนวนหนึ่งซึ่งแสดงคุณสมบัติทั้งหมดที่ฉันต้องการให้นักแก้ปัญหาต่าง ๆ ทำงานด้วย (ความแข็ง, ปัญหาโดยปริยาย ฯลฯ ) ซึ่งฉันไม่มีอย่างน้อยก็ไม่ได้อยู่ด้านบนสุดของหัวของฉัน วิธีนี้ทดสอบผลลัพธ์ของวิธีการแก้ปัญหา ดังนั้นจึงไม่มีการรับประกันว่าตัวแก้ปัญหาใช้งานได้จริงเพียง แต่ใช้ได้กับปัญหาการทดสอบที่ระบุ ดังนั้นฉันสงสัยว่าต้องมีปัญหาการทดสอบจำนวนมากเพื่อตรวจสอบอย่างมั่นใจว่าตัวแก้ปัญหาทำงานได้หรือไม่ คำนวณวิธีแก้ปัญหาด้วยตนเองสำหรับขั้นตอนสองสามขั้นตอนโดยใช้อัลกอริทึมที่ฉันตั้งใจจะนำไปใช้แล้วทำเช่นเดียวกันกับตัวแก้ปัญหาและตรวจสอบว่าผลลัพธ์เหมือนกัน สิ่งนี้ไม่ต้องการความรู้ในการแก้ปัญหาอย่างแท้จริงแต่ในทางกลับกันก็ต้องใช้งานจริงมาก ในทางกลับกันวิธีนี้ใช้ทดสอบอัลกอริธึมซึ่งใช้ได้กับฉัน - ถ้ามีคนอื่นพิสูจน์ว่าลำดับที่ 4 ที่Runge-Kutta ทำงานได้ฉันก็ไม่รู้สึกว่าจำเป็นต้องสิ้นหวัง อย่างไรก็ตามฉันกังวลว่ามันจะยุ่งยากมากในการสร้างกรณีทดสอบเนื่องจากฉันไม่รู้วิธีการที่ดีในการสร้างข้อมูลทดสอบ (ยกเว้นอาจใช้มือซึ่งจะทำงานมาก ... …
26 ode 

6
ปัญหา n-body ความโน้มถ่วงสามารถแก้ไขในแบบคู่ขนานได้อย่างไร?
ปัญหา n-body ความโน้มถ่วงสามารถแก้ไขเป็นตัวเลขแบบขนานได้อย่างไร? การแลกเปลี่ยนความซับซ้อนที่มีความแม่นยำเป็นไปได้หรือไม่? ความแม่นยำมีอิทธิพลต่อคุณภาพของรุ่นอย่างไร

2
“ symplectic” หมายถึงอะไรในการอ้างอิงถึงผู้ประกอบการเชิงตัวเลขและคำสั่งของ SciPy ใช้พวกเขาอย่างไร
ในความคิดเห็นนี้ฉันเขียนว่า: ... ผู้รวมระบบ SciPy ที่เป็นค่าเริ่มต้นซึ่งฉันคิดว่าจะใช้วิธี symplectic เท่านั้น ที่ฉันอ้างถึง SciPy odeintซึ่งใช้วิธีการ "ไม่ใช่แบบแข็ง (Adams)" หรือ "วิธีแข็ง (BDF)" ตามแหล่งที่มา : def odeint(func, y0, t, args=(), Dfun=None, col_deriv=0, full_output=0, ml=None, mu=None, rtol=None, atol=None, tcrit=None, h0=0.0, hmax=0.0, hmin=0.0, ixpr=0, mxstep=0, mxhnil=0, mxordn=12, mxords=5, printmessg=0): """ Integrate a system of ordinary differential equations. Solve a system …

4
ทำไมวิธี Runge – Kutta ที่มีลำดับสูงกว่าจึงไม่ได้ใช้บ่อยกว่า
ฉันแค่อยากรู้ว่าทำไมลำดับขั้นสูง (เช่นมากกว่า 4) วิธี Runge – Kutta แทบไม่เคยพูดถึง / ใช้ (อย่างน้อยก็เพื่อความรู้ของฉัน) ฉันเข้าใจว่าต้องใช้เวลาในการคำนวณมากขึ้นต่อขั้นตอน (เช่นRK14 ที่มีขั้นตอนการฝังลำดับที่ 12 ) แต่มีข้อเสียอื่น ๆ ของการใช้คำสั่ง Runge – Kutta ที่สูงกว่า (เช่นปัญหาด้านเสถียรภาพ) หรือไม่ เมื่อนำไปใช้กับสมการด้วยโซลูชันที่มีความผันผวนสูงในช่วงเวลาที่รุนแรงวิธีการที่มักจะมีคำสั่งที่สูงกว่านี้จะไม่เป็นที่ต้องการหรือไม่
17 ode  runge-kutta 

4
คำจำกัดความของระบบ ODE ที่แข็ง
พิจารณา IVP สำหรับระบบ ODE Y'= f( x , y)y′=f(x,y)y'=f(x,y) , Y( x0) = y0y(x0)=y0y(x_0)=y_0 0 โดยทั่วไปปัญหานี้จะถูกพิจารณาว่าเข้มงวดเมื่อ Jacobi matrix ∂ฉ∂Y( x0, y0)∂f∂y(x0,y0)\frac{\partial f}{\partial y}(x_0,y_0)มีทั้งค่าลักษณะเฉพาะที่มีค่าลบจริงมากและค่าลักษณะเฉพาะมีค่าลบจริงน้อยมาก (ฉันพิจารณาเฉพาะกรณีที่เสถียร) ในทางกลับกันในกรณีของสมการเพียงหนึ่งตัวอย่างเช่น Prothero-โรบินสันสมY'= λ y+ g'+ λ gy′=λy+g′+λgy'=\lambda y + g'+\lambda gก็จะเรียกว่าแข็งเมื่อλ « - 1λ≪−1\lambda\ll -1 1 ดังนั้นจึงมีสองคำถาม: เหตุใดค่าลักษณะเฉพาะขนาดเล็กจึงรวมอยู่ในคำจำกัดความความแข็งสำหรับระบบ ODE ฉันเชื่อว่าการมีอยู่จริงของชิ้นส่วนเชิงลบที่มีขนาดใหญ่มากเพียงอย่างเดียวนั้นค่อนข้างเพียงพอสำหรับระบบที่จะแข็งทื่อเพราะสิ่งนี้ทำให้เราใช้การประทับเวลาเล็กน้อยสำหรับวิธีการที่ชัดเจน λสูงสุด/ λนาทีλmax/λmin\lambda_{\max}/\lambda_{\min} ตกลงเรามาแก้ไขคำถามกัน พิจารณาระบบ ODE เชิงเส้นสองมิติสองระบบ: …
17 ode  stiffness 

2
ตัวเลือกสำหรับการแก้ปัญหาระบบ ODE บน GPU หรือไม่
ฉันต้องการทำฟาร์มแก้ปัญหาระบบของ ODE บน GPU ในการตั้งค่าแบบขนานเล็กน้อย ตัวอย่างเช่นทำการวิเคราะห์ความไวด้วยชุดพารามิเตอร์ที่แตกต่างกัน 512 ชุด ฉันอยากจะแก้ปัญหา ODE ด้วยสมาร์ทแวร์จับเวลาที่ปรับเปลี่ยนได้อย่างชาญฉลาดเช่น CVODE แทนที่จะเป็นไทม์สเตจคงที่เช่น Forward Euler แต่ใช้มันบน GPU NVIDIA แทนซีพียู มีใครทำเช่นนี้? มีห้องสมุดหรือเปล่า
16 ode  gpu 

5
ทำไมการแก้ปัญหาเชิงตัวเลขของ ODE จึงย้ายออกจากสมดุลที่ไม่เสถียร?
ฉันต้องการจำลองพฤติกรรมของระบบลูกตุ้มแบบสองเท่า ระบบนี้เป็นหุ่นยนต์หุ่นยนต์ 2 องศาอิสระที่ไม่ได้ถูกกระตุ้นและจะทำตัวเป็นเหมือนลูกตุ้มสองเท่าที่ได้รับผลกระทบจากแรงโน้มถ่วง ข้อแตกต่างที่สำคัญเพียงอย่างเดียวกับลูกตุ้มคู่คือประกอบด้วยวัตถุแข็งสองตัวที่มีคุณสมบัติมวลและความเฉื่อยที่จุดศูนย์กลางมวล โดยทั่วไปฉันตั้งโปรแกรมode45ภายใต้ Matlab เพื่อแก้ปัญหาระบบ ODE ของประเภทต่อไปนี้: ⎡⎣⎢⎢⎢10000M110M1200100M120M22⎤⎦⎥⎥⎥⎡⎣⎢⎢⎢x˙1x˙2x˙3x˙4⎤⎦⎥⎥⎥=⎡⎣⎢⎢⎢x2−V1−G1x4−V2−G2⎤⎦⎥⎥⎥[10000M110M1200100M120M22][x˙1x˙2x˙3x˙4]=[x2−V1−G1x4−V2−G2] \left[ \begin{array}{cccc} 1 & 0 & 0 & 0\\ 0 & M_{11} & 0 & M_{12}\\ 0 & 0 & 1 & 0\\ 0 & M_{12} & 0 & M_{22} \end{array} \right] \left[ \begin{array}{c} \dot{x}_1\\ \dot{x}_2\\ \dot{x}_3\\ \dot{x}_4 \end{array} …

3
วิธีการเชิงตัวเลขสำหรับ RS ODE ที่ไม่ต่อเนื่อง
อะไรคือวิธีการที่ทันสมัยสำหรับการแก้ปัญหาเชิงตัวเลขของ ODE ที่มีด้านขวาไม่ต่อเนื่อง? ฉันสนใจฟังก์ชั่นด้านขวาแบบต่อเนื่องเช่นสัญญาณ ฉันพยายามที่จะแก้สมการประเภทต่อไปนี้: x˙โวลต์˙= v= { ( | Fภายนอก| - | Fแรงเสียดทาน| )เข้าสู่ระบบ( Fภายนอก)0: | Fภายนอก| &lt; | Fแรงเสียดทาน|: มิฉะนั้นx˙=โวลต์โวลต์˙={(|Fภายนอก|-|Fแรงเสียดทาน|)สัญญาณ⁡(Fภายนอก):|Fภายนอก|&lt;|Fแรงเสียดทาน|0:มิฉะนั้น\begin{align*} \dot x &= v\\ \dot v &= \begin{cases} (|F_\text{external}| - |F_\text{friction}|) \mathop{\rm sign} (F_\text{external}) & :|F_\text{external}| < |F_\text{friction}|\\ 0 & : \text{otherwise} \end{cases} \end{align*}
15 ode 

4
วิธี ODE ที่เหมาะสมที่สุดสำหรับการประเมิน RHS จำนวนคงที่
ในทางปฏิบัติรันไทม์ของการแก้ IVP คือ มักจะครอบงำโดยระยะเวลาของการประเมินทางด้านขวามือ (RHS) เดอะฉให้เราสมมติว่าการดำเนินการอื่น ๆ ทั้งหมดนั้นทันที (เช่นไม่มีค่าใช้จ่ายในการคำนวณ) หากรันไทม์โดยรวมสำหรับการแก้ IVP ถูก จำกัด แล้วนี้จะเทียบเท่ากับการ จำกัด จำนวนของการประเมินผลของบาง{N}x ( t 0 ) = x 0 f f N ∈ Nx˙(t)=f(t,x(t)) for t∈[t0,t1]x˙(t)=f(t,x(t)) for t∈[t0,t1] \dot{x}(t) = f(t, x(t)) \quad \text{ for } t \in [t_0, t_1] x(t0)=x0x(t0)=x0 x(t_0) = x_0 ffffffN∈NN∈NN \in …

3
แนวทางปฏิบัติที่ดีที่สุดสำหรับการอธิบายแบบจำลองของ บริษัท ตัวแทน
ฉันทำงานค่อนข้างหนักในวิชาคณิตศาสตร์ชีววิทยา / ระบาดวิทยาซึ่งงานด้านการสร้างแบบจำลอง / วิทยาศาสตร์การคำนวณส่วนใหญ่ยังคงถูกครอบงำโดยกลุ่ม ODEs ซึ่งบางครั้งก็เป็นที่เข้าใจกันดี ข้อเสียอย่างหนึ่งของแบบจำลองเหล่านี้คือพวกมันค่อนข้างง่ายที่จะอธิบายและทำซ้ำ ตารางค่าพารามิเตอร์และสมการด้วยตนเองและคุณได้ให้ทุกสิ่งที่พวกเขาต้องการเพื่อทำซ้ำการวิจัยของคุณไม่ว่าพวกเขาจะรู้สึกชอบการนำไปใช้ แต่แบบจำลองที่ซับซ้อนกว่านี้ก็เริ่มเป็นที่นิยม โดยเฉพาะอย่างยิ่งโมเดลที่อิงตัวแทนดูเหมือนจะยากที่จะอธิบายในสิ่งพิมพ์และยากที่จะทำซ้ำเพราะพวกเขาไม่จำเป็นต้องอธิบายอย่างสมบูรณ์แบบโดยชุดของ ODE มีแนวทางใดบ้างหรือเพียงแค่ประสบการณ์เชิงปฏิบัติที่อยู่เบื้องหลังการอธิบายแบบจำลองเหล่านี้ในแบบที่ผู้อ่านเข้าใจว่าเกิดอะไรขึ้นและทำให้พวกมันค่อนข้างตรงไปตรงมาในการทำซ้ำ

3
ตัวเลือกขนาดขั้นตอนโดยใช้ ODE ใน matlab
เฮ้มีและขอบคุณที่ให้เวลาเพื่อดูคำถามของฉัน นี่เป็นคำถามที่ฉันได้โพสต์ก่อนหน้านี้ใน physics.stackexchange.com ขณะนี้ฉันกำลังศึกษาสปินทริปปินเตอร์ 2 มิติ Bose-Einstein Condensate และอยากรู้เกี่ยวกับสถานะพื้นฐานของระบบนี้ วิธีการทางคณิตศาสตร์ของการเดินทางไปสภาพพื้นดินที่เรียกว่าวิธีการที่เวลาจินตนาการ วิธีนี้ง่ายมากที่เวลาในกลศาสตร์ควอนตัมถูกแทนที่ด้วยจินตภาพหนึ่ง ทดแทนนี้ทำให้อนุภาคพลังงานสูงในระบบของฉันสลายตัวเร็วกว่าพลังงานต่ำ การทำให้จำนวนอนุภาคกลับมาเป็นปกติในทุกขั้นตอนของการคำนวณเราจะจบลงด้วยระบบของอนุภาคพลังงานต่ำสุดหรือที่รู้จัก สภาพพื้นดินt = - i τt=−iτ t = -i \tau สมการ (s) ในคำถามเป็นเชิงเรียกว่าไม่เชิงเส้นSchrödingerสมบางครั้งสม Gross-Pitaevskii เพื่อแก้ปัญหาที่ฉันใช้ Matlabs ode45 ซึ่งวิวัฒนาการระบบไปข้างหน้าในเวลาและในที่สุดก็ถึงสภาพพื้นดิน บันทึก! สมการไม่เชิงเส้นSchrödingerรวมถึง laplacian และคำที่แตกต่างอื่น ๆ ในอวกาศ ทั้งหมดนี้ได้รับการแก้ไขโดยใช้การแปลงฟูริเยร์ที่รวดเร็ว ในที่สุดเรามีเวลาเพียง ODE * * * * ปัญหาและคำถามของฉัน:การคำนวณไปจากเพื่อt_fode45 ถูกใส่ไว้ในfor for loop ดังนั้นมันจึงไม่คำนวณเวกเตอร์ยักษ์ในเวลาเดียวกัน รอบแรกจะเริ่มต้นด้วย ode45 …

1
อัลกอริทึมสำหรับระบบเชิงเส้นของ ODE
ฉันสงสัยว่า: อัลกอริทึมที่ดีที่สุดในการแก้ โดยที่คือเมทริกซ์จริง A ไม่ได้ขึ้นอยู่กับเวลาอย่างชัดเจนโดยทั่วไปกระจัดกระจาย แต่ไม่จำเป็นต้องมีแถบสี ค่าลักษณะเฉพาะของมันมีชิ้นส่วนจริงที่ไม่เป็นบวก A นั้นเป็นเส้นทแยงมุม แต่อาจมีขนาดใหญ่เกินไปที่จะทำให้เส้นทแยงมุมเต็มประสิทธิภาพdudt=Aududt=Au\begin{equation} \frac{du}{dt} = Au \end{equation}AAAn×nn×nn\times n มีกฎสี่เหลี่ยมคางหมูโดยนัยซึ่งฉันมีประสบการณ์ที่ดี (I−Δt2A)un+1=(I+Δt2A)un(I−Δt2A)un+1=(I+Δt2A)un\begin{equation} \left(I-\frac{\Delta t}{2} A\right) u_{n+1} = \left(I+\frac{\Delta t}{2} A\right) u_{n} \end{equation} วิธีการที่ชัดเจนหรือประมาณ Pade? นอกจากนี้จะมีการเปลี่ยนแปลงอย่างไรถ้ามีการเพิ่มคำที่บังคับให้กับ RHS

2
มีชุดโอเพ่นซอร์สของตัวแก้ ODE สำหรับ C ที่ใช้ชนิด C99 ดั้งเดิมหรือไม่
ฉันใช้GSLเป็นพื้นฐานของการจำลองหลายอย่าง แต่มันค่อนข้างเกินความจริงสำหรับวัตถุประสงค์ของฉันและมันกำหนดประเภทที่ซับซ้อนของตัวเองด้วยเหตุผลดั้งเดิม แทนที่จะเขียนรหัสตัวแก้ Runge-Kutta ODE ของตัวเองซึ่งอาจจะไม่ได้ผลมากนักมีนักแก้ปัญหาโอเพนซอร์ซโอเพนซอร์สที่ใช้ C99 complex ประเภทดั้งเดิมหรือไม่?
12 c  ode 

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