Санкт-Петербургский Государственный Университет Факультет Прикладной Математики - Процессов Управления Курсовая работа по Методам Вычислений на тему Численное решение задачи Коши ЗК для системы обыкновенных дифференциальных уравнений Выполнил Студент 2 курса 20 группы Орлов Евгений Вадимович
Проверил Санкт-Петербург 2004г. ОГЛАВЛЕНИЕ Явный метод типа Рунге-Кутта. 4 Многошаговые методы. 5 Правило Рунге для практической оценки ГП. 5 Алгоритм автоматического выбора шага. 5 Текст программы. 7 Выходные данные 10 Явный метод типа Рунге-Кутта. 1 где - искомая, а - заданная векрот-функция, -заданный вектор. заданна и непрерывна в области ,
Найти решение системы, определнной на конечном отрезке и удовлетворяющее начальному условию 2. Явные одношаговые методы типа Рунге-Кутта численные методы, в которых приближнное решение задачи 1,2 вычисляется по формулам Для метода пятого порядка точности S6, Остальные параметры этого метода совпадают с одноименными параметрами метода 4 порядка точности. узлы сетки шаг сетки. i2 i3 i4 i5 i6 Величина называется погрешностью метода в узле или глобальной
погрешностью метода. Если , то сетка называется равномерной. Многошаговые методы. В многошаговых методах обычно используют равномерную сетку, так как расчтные формулы в этом случае значительно проще. Пусть . Экстаполяционный метод Адамса явный. K шаговый ЭМА имеет порядок точности k. Формула линейного k1 шагового экстаполяционного метода
Адамса имеет вид Таким образом, для четырехшагового ЭМА формула примет вид , Порядок точности четырехшагового ЭМА 4. Величина называется погрешностью метода в узле или глобальной погрешностью метода. Правило Рунге для практической оценки ГП. При реализации численных методов решения задачи Коши погрешность приближнного решения обычно оценивают с помощью так называемого правила
Рунге q порядок точности et вектор-функция, которая зависит от сетки. Для МТРК эта формула верна, если метод имеет порядок точности Сетка может быть равномерной или не равномерной. Для ЭМА эта формула верна, если метод устойчив, имеет порядок точности сетка равномерная. Вычислим одним и тем же численным методом два приближнных решения задачи
Коши и первое на сетке с max шагом h, второе на сетке , полученной добавлением к сетке точек, лежащих посередине между соседними точками сетки . Согласно Таким образом . Исходная сетка сгущается до тех пор, пока не станет где - заданная граница абсолютной погрешности, q порядок точности метода. Дробление шага в многошаговых методах приводит к необходимости вычислять значения приближенного решения в точках, лежащих между уже построенными узлами.
Если при изменении алгоритма автоматического выбора шага в многошаговом методе возникает необходимость в изменении шага, то переходят на одношаговый метод того же порядка точности и к многошаговому возвращаются лишь тогда, когда по одношаговому методу сделано подряд необходимое число постоянных шагов. Алгоритм автоматического выбора шага. Требование а глобальная погрешность применяемого метода в любом узле сетки не должна превышать заданной границы 0. б число узлов должно быть наименьшим.
Пусть сетка строится последовательно, начиная с узла . Задается начальный шаг , вычисляется приближенное решение и ГП в точке . Если , то полагаем . В противном случае делится пополам, и с этим новым значением шага все вычисления производятся заново, начиная с точки . Этот процесс дробления шага повторяется до тех пор, пока не будет выполнено требование
А т.е. точка с первым значением шага, при котором выполняется неравенство , берется за новый узел сетки . Пусть узлы построены. При построении узла учтем требование Б если , то полагаем , иначе . Для того, чтобы алгоритм не выходил за пределы отрезка , T, после шага проверяется , и если это не выполняется, полагают . Текст программы. APPTYPE CONSOLE F чтобы можно было передавать функции, как параметры
N разрешение использования математического сопроцессора для обработки const m 3 a array2 3 of extended 12, 1 b array2 3, 1 2 of extended 12, 0, -1, 2 c array1 3 of extended 16, 23, 16 n 2 p10000 type yType array1 n of extended SolveData array1 n, 0 p of extended Solvedata1 array1 n, 0 p of extended FunctionType functioni byte x extended y yType extended const StartX extended 0 EndX extended 2 function fi byte x extended y yType extended begin case i of 1 f y2 2
f 3y2-8.5y13.4x-1.2 end end procedure SolveTaskKoshiByMethodRungeKuttf FunctionType xs extended ys yType p3integer var Rezult SolveData type kDataType array1 n, 1 m of extended var k kDataType procedure GetKq byte f FunctionType xs extended ys yType h extended var k kDataType var i, j integer begin if q 1 then begin for i 1 to n do for j 1 to q - 1 do ysi ysi bq,jhki,j for i 1 to n do ki,q fi, xsaqh,
ys end else for i 1 to n do ki,q fi, xs, ys end var i, j, v integer z,h extended begin hendX-startxp3 for i 1 to n do Rezulti,0 ysi for v 1 to p3 do begin for i 1 to m do GetKi, f, xs, ys, h, k for i 1 to n do begin z 0 for j 1 to m do z z cjki,j ysi ysi hz end for i 1 to n do Rezulti,v ysi xs StartX vh end end function yyx extended extended begin yy 0.4xsin2.5xexp1.5x0.64 end function dyyx extended extended begin dyy 1.6exp1.5xcos2.5x0.96exp1.5xsin2.5x0.4 end const w 8 label
now var StartY yType Rezult, Rezult1,rezult2,rezult3 SolveData i,j,p1,p2,t,n1 integer x,h,h1,s,pog extended pograrray1 2,1 10000 of extended const e0.0001 begin pog0 writelndestruction readlnp1 StartY0 StartY2 2 for i1 to n do for j1 to 10000 do pogri,j0 hendx-startxp1 p22p1h1endx-startxp2 tp1 now SolveTaskKoshiByMethodRungeKuttf, StartX, StartY, p1, Rezult for j1 to n do rezult1j,0rezultj,0 rezult11,1rezult11,0hdyy0h rezult12,1rezult12,0h3dyy0-8.5yy0-1.2
rezult11,2rezult11,1h23dyyh-dyy0 rezult12,2rezult12,1h233dyyh-8.5yyh3.4h- 1.2-3dyy0-8.5yy0-1.2 for i 3 to p1 do rezult11,irezult11,i-1h1223dyyi-1h-16dyy i-2h5dyyi-3h for i 3 to p1 do rezult12,irezult12,i-1h12233dyyi-1h-8.5y yi-1h3.4i-1h-1.2-163dyyi-2h-8.5yyi-2h3.4 i-2h-1.253dyyi-3h-8.5yyi-3h3.4i-3h-1.2 SolveTaskKoshiByMethodRungeKuttf, StartX, StartY, p2, Rezult2 for j1 to n do rezult3j,0rezult2j,0 rezult31,1rezult31,0h1dyy0 rezult32,1rezult32,0h13dyy0-8.5yy0-1.2
rezult31,2rezult31,1h123dyyh1-dyy0 rezult32,2rezult32,1h1233dyyh1-8.5yyh13. 4h1-1.2-3dyy0-8.5yy0-1.2 for i 3 to p2 do rezult31,irezult21,i-1h11223dyyi-1h1-16d yyi-2h15dyyi-3h1 for i 3 to p2 do rezult32,irezult22,i-1h112233dyyi-1h1-8. 5yyi-1h13.4i-1h1-1.2-163dyyi-2h1-8.5yyi- 2h13.4i-2h1-1.253dyyi-3h1-8.5yyi-3h13.4i -3h1-1.2 pog0 for i1 to p1 do begin if rezult31,2i-rezult11,i 0 then pogr1,irezult31,2i-rezult11,i else pogr1,i-rezult31,2irezult11,i if rezult32,2i-rezult12,i 0 then pogr2,irezult32,2i-rezult12,i else pogr2,i-rezult32,2irezult12,i if pogr1,i pog then pogpogr1,i if pogr2,i
pog then pogpogr2,i end if pog 0.0007 then begin p1p12p2p22h0.5h h10.5h goto nowend n1p1 div t writelnp1 writelnRunge for i 0 to t do begin x StartX ihn1 writelnt ,x31 y1t ,rezult1,in15w y2t ,rezult2,in15w end writelnAdomsa for i 1 to t do begin x StartX ihn1 writelnt ,x31 y1t ,rezult11,in15w y2t ,rezult12,in15w writelnPress Enter readln end. Выходные данные Hr160 Runge t 0.1, y1t 0.9893166478, y2t 1.2099825961, t 0.2, y1t 0.9544007078, y2t 1.4397112126, t 0.3, y1t 0.8906587155,
y2t 1.6884799835, t 0.4, y1t 0.7931174397, y2t 1.9500551589, t 0.5, y1t 0.6564497117, y2t 2.2373280691, t 0.6, y1t 0.4750135539, y2t 2.5327051792, t 0.7, y1t 0.2429073694, y2t 2.8374982423, t 0.8, y1t -0.0459566960, y2t 3.1470546898, t 0.9, y1t -0.3977602348, y2t 3.4555871064, t 1.0, y1t -0.8186621821, y2t 3,7560491332, Adamsa t 0.1, y1t 0.9892164589, y2t 1.2094185254, t 0.2, y1t 0.9542451973, y2t 1.4397984651, t 0.3, y1t 0.8905481775, y2t 1.6881684954, t 0.4, y1t 0.7914736524, y2t 1.9500184563, t 0.5, y1t 0.6537465132,
y2t 2.2371750385, t 0.6, y1t 0.4754532355, y2t 2.5321746536, t 0.7, y1t 0.2429465823, y2t 2.8372625597, t 0.8, y1t -0.0451235491, y2t 3.1471978467, t 0.9, y1t -0.3975597336, y2t 3.4558879504, t 1.0, y1t -0.8198978785, y2t 3,7539857366,
! |
Как писать рефераты Практические рекомендации по написанию студенческих рефератов. |
! | План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом. |
! | Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач. |
! | Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты. |
! | Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ. |
→ | Виды рефератов Какими бывают рефераты по своему назначению и структуре. |