Решение дифференциального уравнения 2-ой степени в Xcos. Способ 1: последовательное интегрирование
Дифференциальные уравнения первой степени являются простейшими составляющими математических моделей и используются, чаще всего, для нормализации дифференциальных уравнений высших порядков.
Мы остановимся на рассмотрении ОДУ 2-ой степени и двух подходах поиска его решения посредством составления блок-схем Xcos. Первый подход заключается в последовательном интегрировании правой части дифференциального уравнения, то есть, использования двух блоков-интеграторов.
Способ 1: последовательное интегрирование
Рассмотрим дифференциальное уравнение второго порядка с заданными начальными условиями:
Как и в случае с д.у. первой степени, уравнение (1) необходимо привести к виду, где слева от знака «равно» будет наивысшая производная, а справа – остальные слагаемые, то есть к следующему виду:
И в последующем рассмотреть сумму, стоящих справа от знака «равно» слагаемых, при этом, приняв каждую из производных y, как интеграл от исходной суммы. То есть, условно произвести последовательную замену и подстановку производных и воспользоваться принципом, что
Чтобы составить блок-схему дифференциального уравнения второй степени (2) нужно:
1. Добавить блок сумматора BIGSOM_f. Во внутренних параметрах данного блока указать вектор знаков слагаемых. В нашем случае справа стоят 4 слагаемых, знак первого слагаемого «+», далее «-», потом опять «-» и снова «+», поэтому во внутреннем параметре Input ports signs нужно указать [1;-1;1;-1];
2. Добавить два интегратора (так как уравнение 2-й степени), указав соответствующие начальные условия из (1) во внутренних параметрах каждого из блоков INTEGRAL_f;
Соединённых последовательно блок сумматора и интеграторов. На данном этапе должна получиться схема, изображённая на рис. 33.

Рисунок 33. Блок-схема из интеграторов и сумматора.
3. Далее необходимо добавить в сумму слагаемые

Рисунок 34. Добавление соединительных линий между интеграторами и сумматором.
4. В сумматоре остались два свободных положительных входа. На них нужно подать независимую переменную, усиленную блоком GAINBLK_f и константу см. рис.35.

Рисунок 35. Блок-схема правой части дифференциального уравнения (1).
5. Для вывода графической информации, используйте блоки MUX, CMSCOPE, END и CLOCK_c с уже известным функционалом.
Итоговая блок-схема для поиска решения ОДУ с заданными начальными условиями изображена на рисунке 36.

Рисунок 36. Блок-схема численного поиска решения задачи Коши для ОДУ 2-го порядка путем последовательного интегрирования.
Моделирование проводилось на временном отрезке [0;10] с шагом дискретизации 0.1. На рис. 37. Представлены графики: зелёным цветом - искомой функции

Рисунок 37. Решение задачи Коши для ОДУ 2-го порядка
Мы разобрали на примере один из способов численного интегрирования в Xcos дифференциальных уравнений степени, выше 1 с заданными начальными условиями. Обозначим основные принципы рассмотренного подхода последовательного интегрирования:
- Приведение дифференциального уравнения n-ой к виду, когда слева от знака «равно» находится только производная;
- Использование блока TIME_f для подачи независимой переменной на вход функциональных блоков;
- Последовательное подключение блоков INTEGRAL_f для обозначения производных порядка до (n-1) искомой функции;
- Задание начальных условий в соответствующих блоках-интеграторах;
- Задание отрезка интегрирования во внутренних параметрах блока END, начальной точки и шага дискретизации в блоке CLOCK_c;
- Возможность выбора численного метода поиска решения дифференциального уравнения в настройкам параметров интегрирования.




