سيكون الطلاب وطلاب الدراسات العليا والعلماء الشباب الذين يستخدمون قاعدة المعرفة في دراساتهم وعملهم ممتنين جدًا لك.
تم النشر على http://www.allbest.ru/
مؤسسة تعليمية حكومية اتحادية مستقلةالتعليم المهني العالي
"ولاية بيلغورود الوطنية
الجامعة البحثية"
معهد التقنيات الهندسية والعلوم الطبيعية
قسم نظم المعلومات الرياضية والبرمجيات
تنفيذ برمجي لحل نظام المعادلات التفاضلية العادية باستخدام طريقة رونج-كوتا من الدرجة الرابعة
عمل الدورة
في تخصص "طرق الحسابات"
طالب بدوام كامل
مجالات التدريب 010500.62
"الدعم الرياضي والإدارة
نظم المعلومات"
السنة الثالثة مجموعة 07001302
دانكوف نيكولاي ألكسيفيتش
بيلغورود 2016
مقدمة
1. الجزء النظري
1.1 المعادلة التفاضلية العادية من الدرجة الأولى. مشكلة كوشي
1.2 جوهر طريقة Runge-Kutta
1.3 اختيار بيئة التطوير
2. الجزء العملي
2.1 تنفيذ برمجي لطريقة Runge-Kutta من الدرجة الرابعة
3. الاختبار
3.1 مثال
خاتمة
طلب
عند دراسة مجموعة واسعة من الظواهر في العالم المحيط، المتعلقة بكل من العلوم الدقيقة والعلوم الإنسانية، يواجه الباحثون في عدد من الحالات حقيقة أن التبعيات الوظيفية بين الكميات يتم العثور عليها من المعادلات التي تكون فيها مشتقات الوظائف المطلوبة حاضر. أبسطها هي تلك التي تحتوي على مشتقات من الدرجة الأولى فقط ويمكن كتابتها على الصورة
وفقًا لنظرية الوجود والتفرد، لأي نقطة (x 0 ,y 0) ؟G هناك حل y = y(x)، محدد على فترة معينة (x 0 -d, x 0 +d)، مما يحقق المعادلة الشرط y(x 0) = y 0، بحيث تكون النقاط (x,y(x)) ?G و y` x ? f(x, y(x))، وسيكون هذا الحل فريدًا. مشكلة المعادلة (1) مع الشرط الأولي y(x 0) = y 0 (مشكلة كوشي) هي إيجاد الدالة y(x) التي تحول كل من المعادلة (1) والشرط الأولي إلى هوية. لنفترض أن القيم التي يأخذها المتغير المستقل x تنتمي إلى المجال (X 0, X N) ونكتب مسألة كوشي:
يتم تحديد عدد المقاطع الدقيقة التي تم تقسيم المقطع الأصلي إليها من خلال دقة الحساب المطلوبة. ولتحقيق الدقة المطلوبة، تم حل المشكلة عدة مرات مع مضاعفة عدد المقاطع الدقيقة n على التوالي. تعتبر الدقة متحققة إذا كانت قيم y i و y 2i (عند النقاط المتطابقة x) تختلف بما لا يزيد عن مقدار معين مع الرقم الأولي والمضاعف n:
1. الطريقة هي خطوة واحدة (للبحث تحتاج إلى معلومات حول النقطة السابقة)
2. لا يتطلب حساب مشتقات f(x,y)، ولكنه يتطلب حساب الدالة نفسها
3. لديه خطأ صغير
Microsoft Visual Studio عبارة عن مجموعة من منتجات Microsoft تتضمن بيئة تطوير برامج متكاملة وعددًا من الأدوات الأخرى. باستخدام هذا المنتج، يمكنك تطوير تطبيقات وحدة التحكم، وتطبيقات واجهة المستخدم الرسومية، بالإضافة إلى مواقع الويب، وتطبيقات الويب، وخدمات الويب في كل من التعليمات البرمجية الأصلية والمدارة لجميع الأنظمة الأساسية التي يدعمها Windows، وWindows Mobile، وWindows CE، وNET Framework، وXbox، وWindows Phone .NET Compact Framework وSilverlight.
القيم التي وجدتها الطريقة |
الحل الدقيقج(س ط)=2- س ط -1 |
|||||
أويلر - كوشي |
رونج - كوتا |
|||||
1. Berezin I.S., Zhidkov N.P.، الأساليب الحسابية: T.2 - M.: GIFML، 1960. - 620 ص.
2. Bakhvalov N. S.، Zhidkov N. P.، Kobelkov G. M. الطرق العددية. - م: بينوم، 2001 - ص. 363-375.
3. Kopchenova N.V.، Maron I.A.، الرياضيات الحسابية في الأمثلة والمسائل - M.: Nauka، 1972. - 368 ص.
4. https://ru.wikipedia.org/wiki/Microsoft_Visual_Studio
5. https://ru.wikipedia.org/wiki/C%2B%2B_Builder
تحليل مجال موضوع البرمجة الشيئية. اللغات دلفي، أوبجيكت باسكال - بيئة برمجة موجهة للكائنات. الحلول الخوارزمية الأساسية. حل معادلة تفاضلية باستخدام طريقة Runge-Kutta في برنامج Excel.
تمت إضافة الدورة التدريبية في 04/02/2011
تجميع برنامج باللغة الخوارزمية Turbo Pascal. تطوير مخطط كتلة لخوارزمية لحلها. تجميع برنامج باسكال الأولي وتنفيذ العمليات الحسابية باستخدام البرنامج المجمع. تطبيق أساليب Runge-Kutta و Runge-Kutta-Merson.
تمت إضافة الدورة التدريبية في 17/09/2009
جوهر طريقة Runge-Kutta وخصائصها. حل المعادلات التفاضلية من الدرجة الأولى. معين/Odesolve الكتلة الحسابية. وظائف مدمجة rkfixed وRkadapt وBulstoer. حلول المعادلات الجبرية الخطية في MathCad وMicrosoft Excel.
تمت إضافة الدورة التدريبية في 06/02/2014
مراجعة طرق الحل في برنامج Excel. الصيغ العودية لطريقة أويلر. طريقة رونج-كوتا من الدرجة الرابعة لحل المعادلات من الدرجة الأولى. طريقة أويلر مع الخطوة ح/2. حل المعادلات التفاضلية باستخدام Mathcad. طريقة أويلر المعدلة.
تمت إضافة الدورة التدريبية في 18/01/2011
الوصف الرياضي لمشكلة حل معادلة تفاضلية عادية باستخدام طريقة Runge-Kutta العددية الصريحة، وتطوير مخطط خوارزمي وكتابة برنامج في بيئة البرمجة Microsoft Visual Studio 2010.
تمت إضافة الدورة التدريبية في 22/01/2014
تنفيذ حل المعادلات التفاضلية العادية من الرتبة الأولى والثانية باستخدام طريقة رونج-كوتا. بناء نظام على الكمبيوتر لعرض النتائج في شكل جداول وفي شكل رسم بياني. البنية ومتطلبات البرمجيات المطورة.
تمت إضافة الدورة التدريبية في 11/05/2011
حل المعادلات التفاضلية من الدرجة الأولى. متغيرات طرق Runge-Kutta بأوامر مختلفة. الطرق الأساسية للحل العددي لمسألة كوشي. زيادة دقة الحسابات وطريقة التحسين التكراري. تسلسل رقمي منفصل.
تمت إضافة العمل المخبري في 14/05/2012
الطرق العددية لحل مسألة كوشي للمعادلات التفاضلية العادية: أويلر، رونج-كوتا، آدامز، رونج. تقنيات الحل التقريبي لهذه المعادلات: طريقة الفروق المحدودة، اكتساح الفرق، التجميعات؛ تحليل النتائج.
تمت إضافة الدورة التدريبية في 14/01/2014
تحليل مزايا وعيوب الطرق العددية المختلفة لحل المعادلات التفاضلية ذات الرتبة الأعلى. مبررات اختيار طريقة Runge-Kutta من الدرجة الرابعة. تطوير برنامج يمثل السلوك الفيزيائي والرياضي للبندول.
تمت إضافة الدورة التدريبية في 07/11/2012
حل المعادلات التفاضلية باستخدام الخوارزميات الكلاسيكية للطرق العددية لأويلر ورونج كوتا من الدرجة الرابعة. الأوامر المستخدمة في حل المعادلات التفاضلية العادية في نظام الحوسبة. نتيجة البرنامج.
في علوم الكمبيوتر:
تصور الطرق العددية.
حل المعادلات التفاضلية العادية.
غرام. مي-71
تم الفحص بواسطة: Minina E. E.
ايكاترينبرج
2008
مقدمة ……………………………………………………………………….3
1. بيان المشكلة ………………………………………….4
2. وصف طرق الحل …………………………………………..5
2. 2. المعنى الهندسي للمشكلة………………………………….5
2. 3. الطرق العددية لحل مسألة كوشي ...........................6
2. 6. حل المشكلة باستخدام طرق أويلر و
رونج-كوتا الترتيب الرابع ………………………………….9
2. 6. 1. طريقة أويلر ……………………………………… 9
2. 6. 2. طريقة رونج-كوتا من الدرجة الرابعة .......................... 10
3. خوارزمية حل المشكلة ...........................11
3. 1. خوارزميات الإجراءات الفرعية ........................................... 11
3. 1. 1. الروتين الفرعي لطريقة أويلر..................................................11
3. 1. 2. الروتين الفرعي لطريقة Runge-Kutta من الدرجة الرابعة ............12
3. 1. 3. روتين الحل العام ............ …………………1 3
3. 2. خوارزمية الوظيفة ………………………………………… 1 3
3. 3. خوارزمية البرنامج ........................................ 14
4. نموذج البرنامج................................................................................. 17
5. قائمة البرامج................................................................................................. 18
6. حل المشكلة في MathCad …………………………………………..20
الخلاصة ………………………………………………… 22
مقدمة
العديد من القوانين الفيزيائية التي تحكم بعض الظواهر مكتوبة على شكل معادلة رياضية تعبر عن علاقة معينة بين كميات معينة.ترجع الأهمية الكبيرة التي تتمتع بها المعادلات التفاضلية للرياضيات وخاصة لتطبيقاتها إلى حقيقة أن دراسة العديد من المشكلات الفيزيائية والتقنية تتلخص في حل مثل هذه المعادلات. تلعب المعادلات التفاضلية أيضًا دورًا مهمًا في العلوم الأخرى، مثل علم الأحياء والاقتصاد والهندسة الكهربائية؛ في الواقع، فإنها تنشأ حيثما تكون هناك حاجة إلى وصف كمي (عددي) للظواهر. ولذلك، فإن حل المعادلات التفاضلية سيكون دائمًا مهمة ضرورية وعاجلة.
الغرض من هذا المقرر هو حل المعادلات التفاضلية باستخدام طريقتين عدديتين: طريقة أويلر وطريقة رونج-كوتا من الدرجة الرابعة من الدقة.
لتحقيق الهدف، حددت لنفسي المهام التالية:
1. بيان المشكلة
حل طرق أويلر وطرق أويلر المعدلة لحل مشكلة كوشي لمعادلة تفاضلية من الدرجة الأولى على الفترة [ X0؛ X ك ] مع الخطوة ح والشرط الأولي:ص (س 0 ) = ص 0 .
وينبغي الحصول على الإجابة في شكل جدول النتائج:
نعم (1) |
نعم (2) |
||
ص 0 (1) |
ص 0 (2) |
ص(× 0) |
|
ص 1 (1) |
ص 1 (2) |
ص(× 1) |
|
واي ك (1) |
واي ك (2) |
ص (Xك) |
حيث ص (1) ، ص (2) الحلول التي تم الحصول عليها بطرق عددية مختلفة،واي تي الحل الدقيق للمعادلة التفاضلية.
من الممكن عرض نتائج الحل ليس على شكل جدول، بل على شكل قوائم.
تصور بيانات الجدول في نموذج في شكل رسوم بيانية.
قبل حساب العمود الأخير من جدول النتائج، من الضروري طرح قيمة المعامل من الشروط الأوليةج ، تستخدم في الحل العام.
المعادلة التفاضلية |
قرار مشترك |
||||
ص = - س·ص/(س+1) |
1 ,2 |
0, 1 |
ص=ج (س+1) إكسب(-س) |
2. وصف طرق الحل
لحل معادلة تفاضلية عادية لا بد من معرفة قيم المتغير التابع و (أو) مشتقاته لقيم معينة للمتغير المستقل. إذا تم تحديد هذه الشروط الإضافية لقيمة واحدة من المتغير المستقل، فإن مثل هذه المشكلة تسمى مشكلة الشروط الأولية، أو مشكلة كوشي. في كثير من الأحيان في مشكلة كوشي، يلعب الزمن دور متغير مستقل.
ويمكن صياغة مسألة كوشي على النحو التالي:
دع المعادلة التفاضلية والحالة الأولية تعطىص (س 0 ) = ص 0 . نحن بحاجة إلى العثور على الدالة y(س ) ، محققًا كلاً من المعادلة المحددة والشرط الأولي.
يتم تقليل الحل العددي لمشكلة كوشي إلى جدولة الوظيفة المطلوبة.
يسمى الرسم البياني لحل المعادلة التفاضلية بالمنحنى التكاملي.
2. 2. المعنى الهندسي للمشكلة
ص = و (س، ص ) - ظل زاوية ميل المماس للرسم البياني للحل عند النقطة (x، y) إلى المحور 0X، - المعامل الزاوي (الشكل 1).
الشكل 1. المعنى الهندسي لمشكلة كوشي.
وجود الحل:
إذا كان الجانب الأيمنو(س، ص ) مستمر في بعض المناطقر ، والتي تحددها عدم المساواة
| س - س 0 |< а; | y - y 0 | < b ,
ثم هناك حل واحد على الأقل y = y(x)، محدد في الحي |x x 0 | < h , где h - رقم موجب، عدد إيجابي.
هذا الحل فريد من نوعه إذار تم استيفاء شرط Lipschitz
| و (س، ص)- و (س، ص)| ≥ ن | ص - ص |(س، ص)،
حيث N هو ثابت ما (ثابت Lipschitz)، ويعتمد، في الحالة العامة، على a وب. إذا و(س ، ذ) لديه مشتق محدود
و ذ (س، ذ) في ر ثم يمكننا وضع N = max |و ذ (س، ذ)| مع (x، y) التي تنتمي إلى R.
2. 3. الطرق العددية لحل مسألة كوشي
عند استخدام الطرق العددية، المقطع [x 0، اكس ] - مناطق التغيير المستمر للوسيطة x بواسطة مجموعة. تتكون من عدد محدود من النقاط x 0 < х 1 < ... < x n = Х - сеткой.
في هذه الحالة × ط تسمى العقد الشبكة.
تستخدم العديد من الطرق شبكات موحدة ذات مسافات متباعدة:
مشكلة كوشي، تم تعريفها مسبقًا على الفترة المستمرة [x 0، اكس ]، يتم استبداله بنظيره المنفصل - نظام المعادلات، الذي يمكنك من خلال حله العثور على القيم على التواليذ 1 , ص 2 ,…, ذ ن - القيم التقريبية للوظيفة في عقد الشبكة.
يستخدم الحل العددي لمسألة كوشي على نطاق واسع في مختلف مجالات العلوم والتكنولوجيا، وعدد الطرق التي تم تطويرها لها كبير جدًا. يمكن تقسيم هذه الأساليب إلى المجموعات التالية.
طرق من خطوة واحدة للعثور على النقطة التالية
منحنى ص =و(س ) مطلوب معلومات حول خطوة سابقة واحدة فقط.
طريقة أويلر وطرق رونج-كوتا هي خطوة واحدة.
طرق التنبؤ والتصحيح (متعددة الخطوات)، حيث يتم العثور على النقطة التالية من المنحنى y =و(س ) مطلوب معلومات عن أكثر من نقطة من النقاط السابقة. للحصول على قيمة عددية دقيقة بما فيه الكفاية، غالبا ما يتم استخدام التكرار. وتشمل هذه الأساليب أساليب ميلن وآدامز-باشفورث وهامينغ.
الطرق الصريحة التي لا تعتمد عليها الدالة Фص ن +1 .
الطرق الضمنية التي تعتمد عليها الدالة Фص ن +1 .
تسمى هذه الطريقة أحيانًا طريقة Runge-Kutta للدقة من الدرجة الأولى.
هذه الطريقة هي خطوة واحدة. يتم جدولة الوظيفة في كل نقطة على حدة. لحساب قيمة دالة في العقدة التالية، يجب عليك استخدام قيمة الدالة في عقدة واحدة سابقة.
دعونا نعطي معادلة تفاضلية من الدرجة الأولى:
ص = و(س، ص)
مع الحالة الأولية
ص (س 0 ) = ص 0
دعونا نختار الخطوة ح وإدخال التدوين:
x i = x 0 + ih و y i = y (x i )، حيث i = 0، 1، 2، ...،
س ط - العقد الشبكة،
ذ ط - قيمة الدالة المتكاملة في العقد.
وتظهر الرسوم التوضيحية للحل في الشكل 2.
لنرسم خطًا مستقيمًا AB عبر النقطة (س ط، ذ ط ) في الزاوية α. حيثتيراغرام α = و (س ط، ص ط )
وفقًا للمعنى الهندسي للمسألة، يكون الخط المستقيم AB مماسًا للدالة التكاملية. دعونا نستبدل نقطة الدالة التكاملية بنقطة تقع على المماس AB.
ثم y i +1 = y i + Δy
دعونا نساوي الجانبين الأيمنتيراغرام α = و (س ط، ص ط) و. نحن نحصل
ومن ثم Δ у = h ∙ f (x i، y i).
دعونا نستبدل الصيغة في هذا التعبيرص ط +1 = ص ط + Δy ، ثم قم بتحويله. ونتيجة لذلك، نحصل على صيغة لحساب النقطة التالية من وظيفة التكامل:
توضح الصيغة أنه لحساب كل نقطة تالية من الدالة التكاملية، من الضروري معرفة قيمة نقطة واحدة سابقة فقط. وبالتالي، بمعرفة الشروط الأولية، من الممكن بناء منحنى متكامل على فترة زمنية معينة.
يظهر الشكل 3 مخططًا تدفقيًا لإجراءات حل المعادلة التفاضلية باستخدام طريقة أويلر.
و(خ ، ذ) - يجب أن تكون الوظيفة المحددة
سيتم وصفها بشكل منفصل.
معلمات الإدخال:
اكس0، اكس كيه البداية والنهاية
قيم متغيرة مستقلة؛
ص 0 القيمة ص 0 من الحالة الأولية
ص (س 0 ) = ص 0 ;
معلمات الإخراج:
Y - مجموعة قيم الحل المطلوب
في العقد الشبكة.
الشكل 3. مخطط تدفق الإجراء لحل المعادلة التفاضلية باستخدام طريقة أويلر.
تعد طريقة أويلر واحدة من أبسط الطرق لحل المعادلات التفاضلية العادية عدديًا. لكن عيبها الكبير هو الخطأ الكبير في الحساب. في الشكل 2، خطأ الحساب لانا اذهب يتم الإشارة إلى الخطوة بواسطة ε. ومع كل خطوة يزداد الخطأ الحسابي.
2.5 طريقة Runge-Kutta 4 أوامر
دع معادلة تفاضلية من الدرجة الأولى تعطى مع الشرط الأولي y (x 0 )= y 0. اختر الخطوة h وإدخال التدوين:
x i = x 0 + ih و y i = y (x i )، حيث i = 0, 1, 2, ... .
على غرار الطريقة الموصوفة أعلاه، يتم إجراء الحل
المعادلة التفاضلية. الفرق هو أن الخطوة مقسمة إلى 4 أجزاء.
وفقا لطريقة Runge-Kutta من الدرجة الرابعة، القيم المتعاقبة y i للوظيفة المطلوبة y يتم تحديدها بواسطة الصيغة:
y i+1 = y i +∆y i حيث i = 0, 1, 2 ...
∆y=(k1+2*k2+2*k3+k4)/6
أ الأرقام ك 1، ك 2، ك 3، ك يتم حساب 4 في كل خطوة باستخدام الصيغ:
ك 1 = ح * و (س ط , ص ط )
k2 = و (x i +h/2, y i +k1 /2)*h
k3 = F(x i +h/2, y i +k2 /2)*h
k4 = F(x i +h, y i +k3) * h
هذه طريقة واضحة من أربع خطوات مع 4 أوامر من الدقة.
يظهر الشكل 6 مخططًا تدفقيًا لإجراءات حل المعادلة التفاضلية باستخدام طريقة Runge-Kutta.
و(خ ، ذ) - وظيفة معينة - يجب
سيتم وصفها بشكل منفصل.
معلمات الإدخال:
×0، × ك - الابتدائي والنهائي
القيم المستقلة
عامل؛
ص 0 القيمة ص 0 من الحالة الأولية
ص (س 0 )= ذ 0 ;
ن - عدد أجزاء القسم؛
معلمات الإخراج:
ي - مجموعة قيم الحل المطلوب
في العقد الشبكة.
2. 6. حل المشكلة التي تطرحها طرق أويلر ورونجي-كوتا من الدرجة الرابعة
2. 6. 1. طريقة أويلر
1. بناء محاور الإحداثيات.
2. مارك أ (1،2؛ 1) النقطة الأولى من المنحنى التكاملي؛
4. نحن نبني الظلل 0 عند النقطة A عند الزاوية α 0 ;
5. أوجد x 1 باستخدام الصيغة: x i = x 0 + ih، حيث h خطوة التكامل
× 1 = 1.2 + 1 0.1 = 1.3
6. نقوم بتنفيذ مباشرس = س 1 = 0.1 إلى التقاطع مع الخطل 0، ضع علامة على النقطة B (x 1؛ y 1)؛
7. ابحث عن النقطة y B:
من المثلث الأيمن ABC,
Δ ص = ص 1 ذ 0 ,
Δس = س 1 × 0 = ح،
f (x 0 ; y 0 ) = (y 1 y 0 )/ h =>
y 1 = y 0 + h (f (x 0 ; y 0 )) = 1 + 0.1 f (1.2;1) = 1-0.545454 = 0.945
ولذلك النقطةب له إحداثيات (1.3؛ 0.945).
2. 6 .2. طريقة Runge-Kutta 4 أوامر
1. بناء محاور الإحداثيات.
2. ضع علامة A(1,2; 1) على النقطة الأولى للمنحنى التكاملي؛
3. نحن نبحث عن زاوية ميل المماس للرسم البياني عند هذه النقطةأ:
4. نحن نبني الظلل 0 عند النقطة A عند الزاوية α 0 ;
5. أوجد x 1 باستخدام الصيغة: x i = x 0 + ih
س 1 = 1,2 + 1 0, 1 = 1, 3;
ك1=0.1·و(1.2;1)=0.1·(-0.545454)= - 0.0545
k2=0.1· f(1.2+0.1/2;1-0.0545/2)= -0.0540
K3=0.1· f(1.2+0.1/2;1-0.0540/2)= - 0.0540
K4=0.1· f(1.2+0.1;1-0.0540)= - 0.0535
∆ص 1 =(- 0.0545+2·(-0.0540)+2·(-0.0540) - 0.0535)/6= - 0.054
∆ ص 2 =1- 0.054=0.946
ولذلك، فإن النقطة التالية على الرسم البياني للحل لها إحداثيات (1.3؛ 0.946).
3. خوارزمية حل المشكلة
3. 1. خوارزميات الروتين الفرعي
3.1.1 روتين فرعي لطريقة أويلر
3.1.2 الروتين الفرعي لطريقة Runge-Kutta 4 أوامر
3. 1. 3. روتين الحل العام
3. 2. خوارزمية الوظيفة
3. 3. خوارزمية البرنامج
4. استمارة البرنامج
Dim j() كمفردة
خافت x () كمفردة
خافت y() كمفردة
خافت o () كمفردة
خاص n، i كعدد صحيح
خاص xk، x0، kx، ky كفرد
خاص ك، ك1، ك2، ك3، ك4 كفرد
خاص h، max، min، y0 كمفرد
وظيفة خاصة f(a, b كمفردة) كمفردة
و = -أ * ب / (أ + 1)
وظيفة النهاية
وظيفة خاصة f1(x كمفردة) كمفردة
وظيفة النهاية
ايلر الفرعية الخاصة()
إعادة ديم س (ن)
رديم ي (ن)
ي(0) = ذ0
لأني = 0 إلى ن
س(ط) = س0 + ح * ط
بعدها انا
لأني = 0 إلى ن - 1
بعدها انا
نهاية الفرعية
رونج فرعي خاص ()
إعادة ديم ص (ن)
ص(0) = ذ0
لأني = 0 إلى ن
س(ط) = س0 + ح * ط
بعدها انا
لأني = 0 إلى ن - 1
k1 = ح * و(س(ط)، ص(ط))
ص(ط + 1) = ص(ط) + ك
MSFlexGrid1.TextMatrix(1, 2) = Str(y0)
بعدها انا
نهاية الفرعية
Obhee الفرعية الخاصة ()
إعادة ديم س (ن)
لأني = 0 إلى ن
س(0) = ص0
س(ط) = س0 + ح * ط
س(ط) = f1(س(ط))
بعدها انا
نهاية الفرعية
أمر فرعي خاص1_Click()
x0 = فال(نص1.نص)
xk = فال(Text2.Text)
ح = فال (نص 4. نص)
y0 = فال(Text3.Text)
ن = (xk - x0) / ح
Label6.Caption = Str(x0)
Label5.Caption = Str(xk)
MSFlexGrid1.Rows = n + 2
MSFlexGrid1.TextMatrix(0, 1) = "صحيح"
MSFlexGrid1.TextMatrix(0, 2) = "الاستجابة"
MSFlexGrid1.TextMatrix(0, 3) = "نص آخر"
ايلر
رونج
أوبهي
الحد الأقصى = ص0
دقيقة = ص0
لأني = 0 إلى ن
إذا j (i)> الحد الأقصى ثم
الحد الأقصى = ي(ط)
إنهاء إذا
إذا ي(ط)< min Then
دقيقة = ي (ط)
إنهاء إذا
إذا y(i)> الحد الأقصى ثم
الحد الأقصى = ص (ط)
إنهاء إذا
إذا ذ (أنا)< min Then
دقيقة = ص (ط)
إنهاء إذا
إذا o(i)> الحد الأقصى ثم
الحد الأقصى = س (ط)
إنهاء إذا
إذا س (ط)< min Then
دقيقة = س (ط)
إنهاء إذا
بعدها انا
Label4.Caption = Str(max)
Label7.Caption = Str(min)
Picture1.Cls
لأني = 1 إلى ن - 1
X1 = 720 + جولة(kx * (x(i - 1) - x0))
X2 = 720 + جولة(kx * (x(i) - x0))
X1 = 720 + جولة(kx * (x(i - 1) - x0))
X2 = 720 + جولة(kx * (x(i) - x0))
بعدها انا
نهاية الفرعية
أمر فرعي خاص2_Click()
نهاية الفرعية
أويلر
رونج كوت
عام
خاتمة
ومن بين الطريقتين (أويلر ورونجي-كوتا)، وفقًا للنتائج التي تم الحصول عليها، تبين أن طريقة رونج-كوتا أكثر دقة (مقارنة بالحل العام). يتم تفسير ذلك بحقيقة أنه، على عكس طريقة أويلر، في طريقة Runge-Kutta، لا يتم تقسيم الخطوة إلى 4 أجزاء، ونتيجة لذلك يصبح خطأ الطريقة أصغر.
عند الانتهاء من أعمال الدورة، أكملت جميع المهام المكلفة بها: قمت بكتابة برنامج لحل هذه المعادلة التفاضلية باستخدام طريقتين عدديتين في البرنامجالبصرية الأساسية ، تحقق من الحل باستخدام التطبيق MathCad ، مقارنة النتائج التي تم الحصول عليها بطرق مختلفة مع الحل العام. أعتقد أنني قد حققت الهدف من هذه الدورة التدريبية بالكامل.
تيراغرام (α) = و (س، ص)
Y i+1 = Y i + h ∙ F(x, Y i )
س = X0 + أنا ∙ ح
ط = 0، …، ن - 1
ح = (Xk X0)/N
نهاية
MSFlexGrid1.TextMatrix(i + 2, 2) = Str(y(i + 1))
MSFlexGrid1.TextMatrix(1, 2) = Str(ص (0))
ك س = (6600 - 720) / (س ك - س 0)
كي = (6600 - 1120) / (الحد الأقصى - الحد الأدنى)
Label4.Caption = Str(max)
Label7.Caption = Str(min)
س(ط)=دقيقة
س (ط) MSFlexGrid1.TextMatrix(i + 1, 3) = Str(o(i)) ص (ط) = الحد الأقصى آيلر (X0، Xk، Y0، N، Y) س ط +1 × ط ص ط+1 ص = ص (س) ك2=ح*و(س+ح/2، ص ط +ك1/2) K1=ح*F(س،ص ط) ص (ط) > الحد الأقصى ي(ط)=دقيقة س = X0 + أنا ∙ ح ط = 0، …، ن-1 ح = (Xk X0)/N Rynge4(X0، Xk، Y0، N، Y) الأمر2 س(ط)=الحد الأقصى س (ط) > الحد الأقصى ك=(ك1+2*ك2+2*ك3+ك4)/6 k4= ح*F(x+h، Y i +k3) k3= ح*F(س+ح/2، ص ط +ك2/2) ص ط+1 = ص ط +ك k1 = ح * و(س(ط)، ص(ط)) k2 = ح * و(x(i) + ح / 2، ص(i) + k1 / 2) k3 = ح * و(x(i) + ح / 2، ص(i) + k2 / 2) k4 = ح * و(س(ط) + ح، ص(ط) + ك3) ك = (ك1 + 2 * ك2 + 2 * ك3 + ك4) / 6 ص(ط + 1) = ص(ط) + ك ط = 0، …، ن-1 س(ط) = س0 + ح * ط ط = 0، …، ن إعادة ديم ص (ن) ز(0) = ص0 يبدأ ص0،X0،XK،ح ن = (xk - x0) / ح الحد الأقصى = ص0 دقيقة = ص0 ي(ط) > الحد الأقصى أنا = 0، ... ن ايلر رونج اوبشي MSFlexGrid1.Rows = n + 2 MSFlexGrid1.TextMatrix(0, 0) = "x" MSFlexGrid1.TextMatrix(0, 1) = "أويلر "
MSFlexGrid1.TextMatrix(0, 2) = "رونج-
كوتا"
MSFlexGrid1.TextMatrix(0, 3) = "قرار مشترك"
Label6.Caption = Str(x0) Label5.Caption = Str(xk) ي(ط)=الحد الأقصى X1 = 720 + جولة(kx * (x(i - 1) - x0)) X2 = 720 + جولة(kx * (x(i) - x0)) Y1 = 6600 - جولة(ky * (o(i - 1) - min)) Y2 = 6600 - جولة(ky * (o(i) - min)) نهاية ي (ط) X1 = 720 + جولة(kx * (x(i - 1) - x0)) X2 = 720 + جولة(kx * (x(i) - x0)) Y1 = 6600 - جولة(ky * (y(i - 1) - min)) Y2 = 6600 - جولة(ky * (y(i) - min)) X1 = 720 + جولة(kx * (x(i - 1) - x0)) X2 = 720 + جولة(kx * (x(i) - x0)) Y1 = 6600 - جولة(ky * (j(i - 1) - min)) Y2 = 6600 - جولة(ky * (j(i) - min)) أنا =1
، …، ن-1 نهاية f1 = y0 / ((x0 + 1) * إكسب(-x0)) * (س + 1) * إكسب(-x) f1(خ) MSFlexGrid1.TextMatrix(1, 0) = Str(x0) MSFlexGrid1.TextMatrix(i + 2, 0) = Str(x(i + 1)) MSFlexGrid1.TextMatrix(i + 2, 1) = Str(j(i + 1)) MSFlexGrid1.TextMatrix(1, 1) = Str(j(0)) ي(i + 1) = ي(i) + ح * و(x(i)، ي(i)) ط = 0، …، ن-1 س(ط) = س0 + ح * ط ط = 0، …، ن إعادة ديم س (ن) رديم ي (ن) ي(0) = ذ0 ايلر نهاية س(ط) = س0 + ح * ط س(ط) =f1(س (ط)) ط = 0، …، ن إعادة ديمس(ن) س(0) = ص0 أوبهي نهاية MSFlexGrid16 الصورة 1 و = -أ * ب / (أ + 1) و(أ،ب) رونج لابي71 النص2 النص 1 لابي41 لابي31 التسمية1 النص3 لابي21 التسمية6 النص4 الأمر1 التسمية4 لابي51 لابي91 التسمية10 نهاية Picture1.Line (X1، Y1)-(X2، Y2)، RGB (0، 200، 0) Picture1.Line (X1، Y1)-(X2، Y2)، RGB (500، 70، 90) Picture1.Line (X1، Y1)-(X2، Y2)، RGB (400، 100، 12) ص (ط) ذ(ط)=دقيقة المؤلفون الرئيسيون للوصف: أ.أ. فورستر (1.1،1.2،1.3،1.4،1.5،1.6،1.7،1.8،1.9)، د. عليموف (1.1,1.7,1.10,2.4,2.7) طريقة Runge-Kutta من الدرجة الرابعة هي الطريقة الأكثر شيوعًا من عائلة طريقة Runge-Kutta للخوارزميات الرقمية لحل المعادلات التفاضلية العادية وأنظمتها. تم تطوير هذه الأساليب التكرارية للحسابات التقريبية الصريحة والضمنية حوالي عام 1900 على يد علماء الرياضيات الألمان K. Runge وM.V. Kutta. رسميًا، طريقة Runge-Kutta هي طريقة أويلر معدلة ومصححة، وهي عبارة عن مخططات دقة من الدرجة الثانية. هناك مخططات قياسية من الدرجة الثالثة لا يتم استخدامها على نطاق واسع. ومن ثم، باستخدام الصيغ العددية المختلفة لحساب التكامل على الجانب الأيمن من المعادلة، يمكن للمرء الحصول على طرق رونج-كوتا ذات الطلبات المختلفة. عرض عام لصيغ طرق Runge-Kutta مع خطوة الشبكة h_(n): يتم تحديد طريقة Runge-Kutta المحددة من خلال مجموعة من المعاملات ب_(ط)، ج_(ي)، أ_(ي)والتي يجب أن تلبي علاقات معينة. دعونا نفكر في مشكلة كوشي، حيث يلبي الطرف الأيمن شروط الوجود ونظريات التفرد للحل. دعونا نضع شبكة موحدة دعونا نقدم الترميز y(x_i) = y_i. نحصل على صيغة الحساب: تم البحث عن حل عددي لمسألة كوشي لأنظمة ODE من الدرجة الأولى باستخدام طرق Runge-Kutta باستخدام نفس الصيغ المستخدمة في ODEs من الدرجة الأولى. على سبيل المثال، يمكن إيجاد حل بطريقة Runge-Kutta من الدرجة الرابعة إذا وضعنا: حيث m هو البعد للنظام، ل = 1، \النقاط، 4. ونتيجة لذلك نحصل تتكون البنية الكلية للخوارزمية من حساب المعاملات k_(j),\,j=1,..,4 عند العثور على قيم الوظيفة المطلوبة في كل عقدة. دعونا نقدم تنفيذًا محتملاً لخوارزمية متسلسلة في Matlab (يتم إعطاء الجانب الأيمن من ODE كدالة func(x,y)) 1 دالة = RungeKutta4 (y0, a, b, n) 2 h = (b - a) / n; 3 x = أ : ح : ب 4 5 ص (:, 1 ) = y0 ; 6 لـ i = 2 : n 7 k1 = h * func (x (i), y (:, i)) 8 k2 = h * func (x (i) + h / 2, y (:, i) + k1 / 2 ) 9 k3 = h * func (x (i ) + h / 2 , y (:, i ) + k2 / 2 ) 10 k4 = h * func (x (i ) + h , y (:, i ) + k3 ) 11 y (:, i + 1 ) = y (:, i ) + (k1 + 2 * k2 + 2 * k3 + k4 ) / 6 12 النهاية 13 النهاية تتكون كل خطوة من حلقة الخوارزمية من 4 استدعاءات للدالة \bar f و 11 عملية ضرب و 10 عمليات إضافة. نظرًا لأن استدعاء الدالة \bar f هو العملية الأكثر تعقيدًا، فيمكن تعريف مدى تعقيد التنفيذ الخطي للخوارزمية بـ 4mn. دعونا نصف الرسم البياني الخوارزمي تحليليا ورسوميا. لنقدم رسمًا توضيحيًا للرسم البياني للمعلومات (الشكل 1). من أجل عدم فوضى الرسم البياني بشكل مفرط، فإننا نعتبر حالة نظام من معادلتين تفاضليتين. يشار إلى رؤوس النوع الأول باللون الأحمر، والقمم من النوع الثاني باللون الأخضر. يتم توفير البيانات المدخلة للمشكلة إلى جميع الرؤوس من النوع الأول، وكذلك إلى الرؤوس m اليسرى للمجموعة الثانية من النوع الثاني، ويتم توفير القيم الأولية للدالة المطلوبة إلى جميع الرؤوس من النوع الثاني المجموعة الأولى من النوع الثاني في المستوى الأول (انظر الفقرة). ستكون بيانات الإخراج هي نتائج إطلاق الرؤوس اليمنى للمجموعة الثانية من النوع الثاني عند كل مستوى. نتائج تشغيل القمم المتبقية هي بيانات وسيطة للخوارزمية. الشكل 1. الرسم البياني للمعلومات لنظام من معادلتين تفاضليتين. نظرًا لأنه في المخطط الحسابي الموضح أعلاه، فإن العملية الأكثر كثافة في العمالة هي حساب الجوانب اليمنى من ODE عند الحساب k_i (i = 1، \dots، 4)، فيجب إيلاء الاهتمام الرئيسي لموازاة هذه العملية. هنا سوف نستخدم نهج تحليل معادلات نظام ODE إلى أنظمة فرعية. لذلك، للتهيئة، ضع في الاعتبار مخطط تحليل البيانات التالي لعناصر المعالج المتوفرة مع الذاكرة المحلية: لكل \mu - PE (عنصر المعالج) ( \mu = 0، \dots، p-1) يتم توزيعها بواسطة المعادلات التفاضلية n/p والمتجه \bar y_0 . يتم إجراء حسابات أخرى وفقًا للمخطط التالي: لاحظ أن هذه الخوارزمية لها توازي محدود، ولكن ليس توازيًا هائلًا، نظرًا لأن دورات الخوارزمية تعتمد على المعلومات. في كل مستوى في هذه الخوارزمية، ينفذ كل PE أربع عمليات لحساب الجوانب اليمنى من ODE، وستة عشر عملية لإضافة المتجهات وضرب المتجه برقم، بالإضافة إلى نقل البيانات p-1 بين PEs الأخرى، مما يؤدي إلى إبطاء كبير جدًا أسفل تنفيذ الخوارزمية وهو عبء عند موازاة الخوارزمية. في هذه الحالة، عدد تكرارات الحلقة يساوي طول المتجه x، أي n. مما سبق يترتب على ذلك أنه عند التصنيف حسب ارتفاع NAP، فإن الخوارزمية لها تعقيد O(n)، وعند التصنيف حسب عرض NAP - O(m) (بشرط أن p = m). بيانات الإدخال للخوارزمية هي: إجمالي حجم بيانات الإدخال: م + 3 الإخراج هو إجمالي حجم بيانات الإخراج: (م+1)ن دعونا ندرج الخصائص الرئيسية للخوارزمية: دعونا نجري دراسة لقابلية التوسع في التنفيذ الموازي لطريقة Runge-Kutta وفقًا للمنهجية. تم إجراء البحث على الكمبيوتر العملاق Lomonosov التابع لمجمع الكمبيوتر العملاق بجامعة موسكو. لقد درسنا التنفيذ المتوازي الخاص بنا للخوارزمية، المكتوبة بلغة C++ باستخدام معيار MPI. تم تجميع البرنامج باستخدام الإصدار 15.0 من مترجم Intel (دون تحديد مفاتيح الترجمة) باستخدام إصدار مكتبة OpenMPI 1.8.4. تم إجراء الحسابات على العقد من مجموعة T-Blade2 مع معالجات Intel Xeon 5570 Nehalem بسرعة 2.93 جيجا هرتز، مع تخصيص نواة واحدة لكل عملية MPI. مجموعة وحدود قيم المعلمات القابلة للتغيير لبدء تنفيذ الخوارزمية: نتيجة للتجارب، تم الحصول على النطاق التالي من كفاءة تنفيذ الخوارزمية: دعونا ندرج بعض ميزات التنفيذ الموازي الذي تم اختباره: الشكل 3. كفاءة الخوارزمية المتوازية حسب حجم النظام وعدد المعالجات. دعونا نبني تقديرات لقابلية التوسع في التنفيذ المتوازي الذي تم اختباره لطريقة Runge-Kutta من الدرجة الرابعة: طريقة الترتيب الرابع هي الأكثر استخدامًا بين جميع مخططات Runge-Kutta، لذلك هناك العديد من التطبيقات البرمجية المتسلسلة لها، سواء التجارية أو المجانية. أحد أشهر تطبيقات البرامج هو ode45 في بيئة MATLAB، والذي يحتوي على عدد كبير من الخيارات لتخصيص الحسابات الرقمية، مما يجعله مناسبًا تمامًا للاستخدام. كما يتم أيضًا تطبيق طريقة Runge-Kutta من الدرجة الرابعة في مكتبة PETSc الموازية، والتي يتم توزيعها مجانًا. على الرغم من أن معظم الأساليب في هذه المكتبة يتم تنفيذها باستخدام خوارزميات متوازية، إلا أن طريقة Runge-Kutta يتم تنفيذها بشكل تسلسلي. من الصعب جدًا العثور على تطبيق موازٍ للطريقة عند النظر في مشكلة كوشي العامة، ولكن هناك العديد من الأعمال العلمية التي تصف التطبيقات المتوازية لطريقة Runge-Kutta لفئات معينة من الأنظمة، على سبيل المثال، في أعمال A.V. يصف ستارتشينكو التنفيذ المتوازي للأنظمة الخطية. دعونا نعطي معادلة تفاضلية من الدرجة الأولى مع الشرط الأولي y(x 0)=y 0. دعونا نختار الخطوة h ونقدم الترميز: x i = x 0 + ih و y i = y(x i)، حيث i = 0, 1, 2, ... . على غرار الطريقة الموصوفة أعلاه، يتم إجراء الحل المعادلة التفاضلية. الفرق هو أن الخطوة مقسمة إلى 4 أجزاء. وفقًا لطريقة Runge-Kutta من الترتيب الرابع، يتم تحديد القيم المتعاقبة y i للدالة المطلوبة y بواسطة الصيغة: ذ أنا+1 = ذ أنا +؟ص أنا حيث أنا = 0، 1، 2 ... ص=(ك1+2*ك2+2*ك3+ك4)/6 يتم حساب الأرقام k1، k2، k3، k4 في كل خطوة باستخدام الصيغ: k1 = ح*و(س ط، ص ط) k2 = و (x i +h/2, y i +k1 /2)*h k3 = F(x i +h/2, y i +k2 /2)*h k4 = F(x i +h, y i +k3)*h هذه طريقة واضحة من أربع خطوات مع 4 أوامر من الدقة. يظهر الشكل 6 مخططًا تدفقيًا لإجراءات حل المعادلة التفاضلية باستخدام طريقة Runge-Kutta. F(x, y) - دالة معينة - يجب وصفها بشكل منفصل. معلمات الإدخال: X0، XK - الأولي والنهائي القيم المستقلة عامل؛ Y0 - القيمة y 0 من الشرط الأولي ن - عدد أجزاء القسم؛ معلمات الإخراج: Y - مجموعة قيم الحل المطلوب في العقد الشبكة. خوارزمية لحل المشكلة الحل في MathCAD قائمة البرامج بلغة Visual Basic Dim xr(), yr(), xe(), ye(), xo(), yo() كمفردة خاص x0، y0، h، xk، k1، k2، c، k3، k4، yd كفردي خاص n، i كعدد صحيح الوظيفة العامة f (ByVal a، ByVal b) كمفردة و = -(أ - ب) / أ الزر الفرعي الخاص 1_Click (مرسل ByVal كـ System.Object، ByVal e كـ System.EventArgs) يعالج Button1.Click x0 = فال (TextBox1.Text) xk = فال (TextBox2.Text) y0 = فال (TextBox4.Text) ح = فال (TextBox3.Text) ن = (xk - x0) / ح ج = y0 / x0 + Math.Log(x0) DataGridView1.ColumnCount = 4 DataGridView1.RowCount = n + 2 DataGridView1.Item(0, 0).Value = "x"!} DataGridView1.Item(1, 0).Value = "عام"!} DataGridView1.Item(2, 0).Value = "Euler M"!} DataGridView1.Item(3, 0).Value = "Runge Kutt"!} لأني = 0 إلى ن - 1 xe(i) = Math.Round((xe(0) + i * h), 2) انتم(i + 1) = انتم(i) + h * f(xe(i) + h / 2, ye(i) + h / 2 * f(xe(i), انتم(i))) DataGridView1.Item(2, 1).القيمة = نعم(0) DataGridView1.Item(0, 1).القيمة = xe(0) DataGridView1.Item(0, i + 1).Value = xe(i) DataGridView1.Item(2, i + 1).Value = Str(ye(i)) لأني = 0 إلى ن - 1 xr(i) = Math.Round((xe(0) + i * h), 2) k1 = ح * و(xr(i)، سنة(i)) k2 = ح * و(xr(i) + ح / 2، سنة(i) + k1 / 2) k3 = ح * و(xr(i) + ح / 2، سنة(i) + k2 / 2) k4 = ح * و(xr(i) + ح، سنة(i) + k3) ياردة = (k1 + 2 * k2 + 2 * k3 + k4) / 6 سنة (ط + 1) = سنة (أنا) + ياردة DataGridView1.Item(3, 1).القيمة = سنة(0) DataGridView1.Item(3, i + 1).Value = Str(yr(i)) لأني = 0 إلى ن - 1 xo(i) = Math.Round((xe(0) + i * h), 2) yo(i) = xo(i) * (ج - Math.Log(xo(i))) DataGridView1.Item(1, 1).القيمة = يو(0) DataGridView1.Item(1, i + 1).Value = Str(yo(i)) Chart1.Series.Add("الحل العام") Chart1.Series("الحل العام").ChartType = SeriesChartType.Line لأني = 0 إلى ن - 1 Chart1.Series("الحل العام").Points.AddXY(xo(i), yo(i)) Chart1.Series("الحل العام").ChartArea = "ChartArea1" Chart1.Series.Add("أويلر م") Chart1.Series("أويلر M").ChartType = SeriesChartType.Point لأني = 0 إلى ن - 1 Chart1.Series("أويلر M").Points.AddXY(xe(i), ye(i)) Chart1.Series("أويلر م").ChartArea = "ChartArea1" Chart1.Series("Euler M").اللون = اللون.أزرق Chart1.Series.Add("رونجي كوت") Chart1.Series("Runge Kutt").ChartType = SeriesChartType.Line لأني = 0 إلى ن - 1 Chart1.Series("رونجي كوت").Points.AddXY(xr(i), yr(i)) Chart1.Series("رونجي كوت").ChartArea = "ChartArea1" Chart1.Series("Runge Kutt").اللون = اللون.أخضر طريقة Runge-Kutta الكلاسيكية 4 أوامر الموضوع 6.3. طريقة رونج-كوتجي طرق رونج-كوتا- عائلة مهمة من الخوارزميات العددية لحل (أنظمة) المعادلات التفاضلية العادية. تم تطوير هذه الأساليب التكرارية للحسابات التقريبية الصريحة والضمنية حوالي عام 1900 على يد علماء الرياضيات الألمان K. Runge وM.V. Kutta. رسميًا، طرق رونج-كوتا هي طريقة أويلر معدلة ومصححة، وهي تمثل مخططات دقة من الدرجة الثانية. هناك مخططات قياسية من الدرجة الثالثة لا يتم استخدامها على نطاق واسع. الأكثر استخدامًا وتنفيذًا في الحزم الرياضية المختلفة (Maple، MathCAD، Maxima) هو مخطط الترتيب الرابع القياسي (انظر أدناه). في بعض الأحيان، عند إجراء العمليات الحسابية بدقة متزايدة، يتم استخدام مخططات الترتيب الخامس والسادس. إن طريقة Runge-Kutta من الدرجة الرابعة منتشرة على نطاق واسع لدرجة أنها غالبًا ما تسمى ببساطة طريقة Runge-Kutta. خذ بعين الاعتبار مشكلة كوشي. ثم يتم حساب القيمة عند النقطة التالية باستخدام الصيغة: حجم خطوة الشبكة هو . هذه الطريقة لها الترتيب الرابع، أي. الخطأ في كل خطوة هو O(h5)، والخطأ الإجمالي في فترة التكامل النهائية هو O(h4). عائلة طرق Runge-Kutta المباشرة هي تعميم لطريقة Runge-Kutta من الدرجة الرابعة. يتم تقديمه بواسطة الصيغ يتم تحديد الطريقة المحددة من خلال الرقم s والمعاملات bi وaij وci. غالبًا ما يتم تنظيم هذه المعاملات في جدولحل مشكلة كوشي لنظام ODE باستخدام طريقة Runge-Kutta من الدرجة الرابعة
خوارزمية تسلسلية
صعوبة تسلسلية
4 مليون
حجم بيانات الإدخال
م+3
حجم الإخراج
(م+1)ن
خوارزمية متوازية
ارتفاع الشكل المتوازي المتدرج
على)
عرض النموذج المتوازي المتدرج
يا (م)
1 خصائص وهيكل الخوارزمية
1.1 وصف عام للخوارزمية
الفكرة الرئيسية لخوارزميات Runge-Kutta هي استبدال الجانب الأيمن من المعادلة التفاضلية، التي تعتمد على الدالة المجهولة المجهولة، ببعض التقريب. إذا تمت إعادة كتابة مسألة كوشي في شكل تكامل1.2 الوصف الرياضي للخوارزمية
1.2.1 طريقة Runge-Kutta من الدرجة الرابعة لمسألة كوشي من الدرجة الأولى DE
1.2.2 طريقة Runge-Kutta من الدرجة الرابعة لمسألة كوشي لنظام DE من الدرجة الأولى
1.3 النواة الحسابية للخوارزمية
1.4 البنية الكلية للخوارزمية
1.5 مخطط تنفيذ الخوارزمية المتسلسلة
1.6 التعقيد المتسلسل للخوارزمية
1.7 الرسم البياني للمعلومات
دعونا نعطي نظام المعادلات التفاضلية أحادية البعد. يحتوي الرسم البياني على بنية ثلاثية الأبعاد تمثل المستويات (المستويات) المترابطة. في كل مستوى i، يتم حساب التقريب i لمتجه حل النظام. هناك n من هذه المستويات في المجموع، حيث n هو عدد العقد التي يتم فيها حساب الحل التقريبي لنظام المعادلات التفاضلية. بيانات الإخراج للمستوى i هي بيانات الإدخال للمستوى i + 1.
تنقسم رؤوس الرسم البياني للمعلومات إلى نوعين:1.8 موارد توازي الخوارزمية
1.9 بيانات الإدخال والإخراج للخوارزمية
1.10 خصائص الخوارزمية
2 تنفيذ البرمجيات للخوارزمية
2.1 ميزات تنفيذ الخوارزمية التسلسلية
2.2 محلية البيانات والحسابات
2.2.1 مكان تنفيذ الخوارزمية
2.2.1.1 هيكل الوصول إلى الذاكرة والتقييم النوعي للمكان
2.2.1.2 تحديد المنطقة
2.2.1.3 التحليل بناءً على اختبار Apex-Map
2.3 الطرق والميزات الممكنة للتنفيذ المتوازي للخوارزمية
2.4 قابلية التوسع للخوارزمية وتنفيذها
2.4.1 قابلية التوسع في الخوارزمية
2.4.2 قابلية التوسع في تنفيذ الخوارزمية
2.5 الخصائص الديناميكية وكفاءة تنفيذ الخوارزمية
2.6 استنتاجات لفصول الهندسة المعمارية
2.7 التطبيقات الحالية للخوارزمية