MATLAB в инженерных и научных расчетах


Продолжение таблицы 2.3 - часть 3


,                                         (2.5)

здесь

    (2.6)

т. е. данный вариант метода Рунге-Кутта требует на каждом шаге четырехкратного вычисления правой части уравнения (2.3). Этот алгоритм реализован в программе ode45. Кроме этой программы MATLAB располагает обширным набором аналогичных программ, позволяющих успешно решать обыкновенные дифференциальные уравнения.

 

Пример 5. Решить задачу Коши

.                           (2.7)

Точное решение имеет вид

.

Выполним решение данной задачи с помощью программы  ode45. Вначале в  М-файл записываем правую часть уравнения (2.7), сам М-файл оформляется как файл – функция, даем ему имя F:

function dydx = F(x, y)

dydx = zeros(1,1);

dydx(1) = 2*(x^2+y(1));

Для численного решения задачи Коши в окне команд набираются следующие операторы.

Протокол программы.

>>[X  Y] = ode45 ( @ F , [0 1] , [1] ) ;

% Дескриптор @ обеспечивает связь с файлом – функцией правой части

% [0 1] – интервал на котором необходимо получить решение

% [1] – начальное значение решения

>> рlot (X,Y) ;

>> % Построение графика численного решения задачи Коши (2.7)

>> hold on; gtext ( ¢ y(x) ¢)

% Команда позволяет с помощью мышки нанести на график надпись у(х)

>> [X  Y]

>> % Последняя команда выводит таблицу численного решения задачи.

 

Результаты решения. График решения задачи Коши (2.7) показан на рис. 2.3. Численное решение представлено в таблице 2.4, где приведены только отдельные узловые точки. В программе ode45 по умолчанию интервал разбивается на 40 точек с шагом h = 1/40 = 0.025.

 

Рис. 2.3

Таблица 2.4

хi

Метод Рунге-Кутта

Точное решение

0.0

1.0

1.0

0.1

1.2221

1.2221

0.2

1.4977

1.4977

0.3

1.8432

1.8432

0.4

2.2783

2.2783

0.5

2.8274

2.8274

0.6

3.5202

3.5202

0.7

4.3928

4.3928

0.8

5.4895

5.4895

0.9

6.8645

6.8645

1.0

8.5836

8.5836

<


Начало  Назад  Вперед