![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Все решатели могут решать системы уравнений явного вида y’ = F (t, y). Решатели ode15s, ode23s, ode23t, ode23tb могут решать уравнения неявного вида My’ = F (t, y).
В описанных далее функциях для решения систем дифференциальных уравнений приняты следующие обозначения и правила:
§ F – название ODE-файла, то есть функции от t и y, которая возвращает вектор-столбец;
§ tspan – вектор, определяющий интервал интегрирования [ to tfinal ]. Для получения решений в конкретные моменты времени to, t1, …, tfinal (расположенные в порядке уменьшения или увеличения), нужно использовать tspan = [ t0 t1 … tfinal ];
§ y0 –вектор начальных условий;
§ T, Y – матрица решений Y, где каждая строка соответствует времени, возвращенном в векторе-столбце T.
В самом простом виде решатель выглядит так:
[T, Y] = solver(‘F’, tspan, y0) интегрирует систему дифференциальных уравнений вида y’ = F (t, y) на интервале tspan с начальными условиями y0. ‘F’ – строка, содержащая имя ODE-файла. Функция F (t, y) должна возвращать вектор-столбец. Каждая строка в массиве решений Y соответствует времени, возвращаемом в векторе-столбце T.
Решатель систем ОДУ дает возможность получать решения систем из n уравнений. Система ОДУ может быть как однородной, так и неоднородной. Решение сводится к следующему:
1) Создание m-файла. Независимо от вида системы он имеет вид:
function dy = solverDE (t, y)
dy = zeros (n, 1);
dy (1) = f1 (t, y (1), y (2), …, y (n));
dy (2) = f2 (t, y (1), y (2), …, y (n));
……………………………
dy (n) = fn (t, y (1), y (2), …, y (n));
2) Получение решения и сопровождающий его график:
>> [ T, Y ] = solver (‘solverDE’, [ t0 tfinal ], [ y10 y20 … yn0 ];
>> plot (T, Y)
Дата публикования: 2014-11-28; Прочитано: 332 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!