ЗАДАНИЕ №12

на контрольную работу по дисциплине «Мат. методы и модели»

Выполнить:

а) описать выбранный численный метод и составить блок-схему алгоритма;

б) дать объяснения блоков алгоритма;

в) записать алгоритм языком BASIC.

 

Задача 3

Значение внутренней температуры Т стенки в какой-либо точке можно найти из решения дифференциального уравнения

при x0 = 0, xk = 1, T(x0) = T1.

Решить уравнение относительно Т методом Рунге-Кутта на отрезке [0, 1], с шагом h, B, Q, λ – заданные переменные.

 

а) Пусть требуется найти численное решение дифференциального уравнения

,

удовлетворяющее начальному условию y(x0) = y0.

Идея метода Рунге-Кутта состоит в представлении разности

Δу(х) = у(х + h) – y(x)                     (1)

в ыиде суммы поправок kj с коэффициентами pj: Δy = p1k1 + p2k2 +…+  pnkn, где k1 = hfx,y),  k2 = hf(x + α2h,y + β21k1),…, kr = hf(x + αrh,y + βr1k1 + βr2k2 + … + βrr-1kr-1).

Коэффициенты рj, αj, βji находят сравнением разложения Δу и kj по степеням h. В случае r = 4 получаем

k1 = hf(x,y), k2 = hf(x+h/2,y + k1/2), k3 = hf(x + h/2, y + k2/2) ,k4 = hf(x+h,y + k3), (2)

Δy = (1/6)(k1 + 2k2  + 2k3  + k4)                                                                                 (3)

При х = х0 с помощью формул (1-3) находим

yi+1 = yi +Δyi             (i = 0, 1, 2, …)

где 

 

Метод Рунге Кутта один из наиболее употребительных методов повышенной точности.

 

Блок схема программы для решения дифференциального уравнения для нахождения внутренней температуры стенки методом Рунге-Кутта приведена на рис. 3.

 

б) После введения значений отрезка a,b, начального значения функции Т1, и параметров B, Q, λ , присваиваем аргументу x значения начала отрезка - 0, функции Т – значение в узле 0: Т1. В блоке 4 вычисляем поправки k1 – k4. В блоке 5 вычисляем значение функции Т. Переходим к следующему узлу, прибавляя к х величину шага h. Блок 7 описывает выполнение вывода значений аргумента х и функции Т. В блоке 7 проверяется условие достижения конца отрезка b = 1. Если х = 1, то заканчиваем вычисления, в противном случае продолжаем вычисления для следующего узла х.

 

 

 

в) программа на языке BASIC

 

10   PRINT  решение дифференциального уравнения для нахождения внутренней температуры стенки методом РУНГЕ-КУТТА

20   INPUT  ‘ Т1, h,Q, B, L’ , Т1, h, Q, B, L

30 x = 0: Z = T1: Y = Z

40 K1= h*Q/(L*(1-B*Y)): x = x + h/2: Y = Z + K1/2

41 K2 =  h*Q/(L*(1-B*Y)): Y = Z + K2/2

42 K3 = h*Q/(L*(1-B*Y)): x = x + h/2: Y = Z + K3/2

43 K4 = h*Q/(L*(1-B*Y)):

44 DY = 1/6 * (K1 +2*( K2 + K3 ) + K4)

50  T = Z +DY: Z = T: Y = Z

60   PRINT “ x = “, x; “ T = “ , T

70   IF x <=1 THEN GOTO 40

80  END

 

 

К списку задач

Главная