Решение систем дифференциальных уравнений

 

Система MLимеет встроенные средства для решения обыкновенных дифференциальных уравнений (ДУ) любого порядка или систем ДУ. Дифференциальным уравнением n-го порядка называется соотношение вида F(t, y, y’,…, y(n))=0. Наивысший порядок производной искомой функции в данном уравнении называется порядком дифференциального уравнения. Решением ДУ является такая функция, которая при подстановке в него обращает его в равенство. В случае системы дифференциальных уравнений n-го порядка решением являются n функций. При использовании численных методов решения искомые функции выражаются не аналитически, а в табличном виде (в виде набора значений в определенных точках). Самое простое ДУ – это уравнение 1-го порядка, разрешенное относительно производной. Оно имеет вид y’=f(t, y). ДУ и системы 2-го порядка и выше можно свести к системам 1-го порядка. Так, для того чтобы свести к системе 1-го порядка уравнение y’’=f(t, y, y’), нужно использовать замену: y1=y и y2=y’. В результате замены будем иметь систему

 

 

В ML имеется целый ряд встроенных функций, предназначенных для решения систем дифференциальных уравнений. Это функции ode23, ode45, ode113. В них реализованы различные методы решения обыкновенных ДУ. Наиболее часто используют функции ode23 и ode45, в основе работы которых лежит метод Рунге–Кутта. Для систем уравнений 2-го и 3-го порядков используют функцию ode23, а для систем 4-го и 5-го порядков – функцию ode45. Обращение к функции, находящей решение системы ДУ, имеет вид

 

[t, y]= <имя встроенной функции>(fun, interval, y0 ),

 

где fun – имя m-файла, в котором вычисляются правые части системы ДУ; interval – вектор, определяющий отрезок, на котором ищется решение; y0 – скаляр или вектор-столбец, в котором задаются начальные условия; t – вектор-столбец, содержащий значения независимой переменной на заданном интервале (обычно это время t); y – матрица решений. Количество столбцов в ней равно порядку системы ДУ. Каждый столбец содержит значения одной искомой функции на заданном отрезке. Каждая строка соответствует определенному значению t.

П р и м е р. Имеем ДУ 2-го порядка y’’+4y’+5y=0, описывающее движение точки в зависимости от времени. Требуется его решить на отрезке [0,5] с начальными условиями y(0)=3 и y’(0)= -5.

Выполним замену: y1=y и y2=y’, получим систему ДУ:

 

при y1(0)=3 и y2(0)=-5 (тогда y1 будет обозначать координаты точки, а y2ее скорость).

Составим файл-функцию для вычисления правых частей системы ДУ. Эта функция должна иметь два входных параметра: переменную t, вектор y с количеством элементов, равным числу неизвестных системы, и один выходной параметр (вектор правых частей системы):

 

function F=mydif(t,y)

F=[y(2); -5*y(1)-4*y(2)];

 

Сохраним файл с именем mydif в каталоге, разрешенном для записи. Обратимся к функции ode45:

 

>>[t,y]=ode45('mydif', [0 5],[3;-5])

 

В результате будут получены вектор-столбец t – вектор значений аргумента (в нашем примере это время) и матрица y из двух столбцов. Первый столбец содержит значения функции y1, т.е. самой искомой функции при каждом значении t, а второй столбец – значения функции y2, т.е. первой производной искомой функции.
У нас в первом столбце будут получаться значения координат точки, а во втором – значение скорости ее движения в каждый момент времени t.

Отобразим график решения ДУ и график производной (рис. 34):

 

>> plot(t,y(:, 1), 'r', t, y (:, 2),'k--')

>> xlabel('t');

>> ylabel('y')

 

Рис. 34

 

 

Лабораторная работа №1

Знакомство с пакетом MAtlab,
решение простейших задач в системе MAtlab

Цель работы – познакомиться с интерактивным пакетом
Matlab 6.5, предназначенным для решения широкого круга инженерных и математических задач, научиться задавать векторы и матрицы, выполнять различные действия с ними, использовать встроенные функции для их обработки, а также изучить средства графического отображения результатов расчета и освоить создание скрипт-файлов.

 

Постановка задачи

 

1. Вычисление значений функции на заданном отрезке.

2. Выполнение действий с векторами.

3. Формирование и выполнение действия с матрицами.

4. Построение графиков функций одной переменной на заданном отрезке.

5. Построение графика функции двух переменных.

6. Создание скрипт-файла.

По результатам работы должен быть составлен отчет, содержащий тексты индивидуальных заданий, команды MLдля решения задач, текст script-файла, а также графическое представление результатов работы.

 








Дата добавления: 2016-03-05; просмотров: 1142;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.