![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Постановка задачи. Найти решение ОДУ первого порядка
на отрезке
при условии
При нахождении приближенного решения будем считать, что вычисления проводятся с расчетным шагом , расчетными узлами служат точки
промежутка [ x 0, xn ].
Целью является построение таблицы
xi | x 0 | x 1 | … | xn |
yi | y 0 | y 1 | … | yn |
т.е. ищутся приближенные значения y в узлах сетки.
Интегрируя уравнение на отрезке , получим
Вполне естественным (но не единственным) путем получения численного решения является замена в нем интеграла какой–либо квадратурной формулой численного интегрирования. Если воспользоваться простейшей формулой левых прямоугольников первого порядка
,
то получим явную формулу Эйлера:
,
.
Порядок расчетов:
Зная , находим
, затем
т.д.
45. Дана задача Коши для ОДУ первого порядка. Построить вычислительную формулу для ее решения методом Рунге – Кутта первого порядка.
46. (СВОДНЫЙ ВОПРОС) Каким образом получены вычислительные формулы для методов Рунге – Кутта первого, второго и четвертого порядков точности. Основное соотношение, которое при этом используется.
47.Реализация метода Рунге – Кутта 4 – го порядка в MATLAB.
Метод реализован в виде функции ode45
Решить задачу Коши для диф.уравнения
Т’+r(T-Ts)=0
T(0)=80
Ts=22-температура, r=0.024-коэффициент остывания
Приводим к задаче Коши:
T’=-r(T-Ts)
T(0)=80
Вначале создаем м-файл функцию, которую определяет правую часть уравнения y’=f(x,y). Здесь f(t,T(t))
function result=f(t,T)
%определение правой части уравнения y’=f(x,y).
%T(t)-искомая функция.
Ts=22;
r=0.024;
result(1)=-r.*(T-Ts);
Далее создаем м-файл сценарий
T0=80; %начальная температура
[t,T]=ode45(‘f’,0:1:15,T0);
%0:1:15 – вектор, определяющий в каких временных точках будет выполняться поиск решений.
[t,T] % два столбца ti, Ti
plot (t,T)
По умолчанию при решении ОДУ в Matlab абсолютная погрешность численного решения absTol=10-6, относительная - RelTol=10-3
Для изменения значения погрешности:
opt=odeset(‘AbsTol’,1e-12);
[t,T]=ode45(‘f’,0:15,T0,opt);
Дата публикования: 2015-02-03; Прочитано: 396 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!