Назад к материалам

Решение дифференциального уравнения 2-ой степени в Xcos.

Решение дифференциального уравнения 2-ой степени в Xcos. Способ 1: последовательное интегрирование

Решение дифференциального уравнения 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. Блок-схема из интеграторов и сумматора
Рисунок 33. Блок-схема из интеграторов и сумматора

Рисунок 33. Блок-схема из интеграторов и сумматора.

3. Далее необходимо добавить в сумму слагаемые и с соответствующими множителями, как показано на рис. 34. Здесь первые два слагаемых в блоке сумматора образуют сумму

Рисунок 34. Добавление соединительных линий между интеграторами и сумматором
Рисунок 34. Добавление соединительных линий между интеграторами и сумматором

Рисунок 34. Добавление соединительных линий между интеграторами и сумматором.

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

Рисунок 35. Блок-схема правой части дифференциального уравнения (1)
Рисунок 35. Блок-схема правой части дифференциального уравнения (1)

Рисунок 35. Блок-схема правой части дифференциального уравнения (1).

5. Для вывода графической информации, используйте блоки MUX, CMSCOPE, END и CLOCK_c с уже известным функционалом.

Итоговая блок-схема для поиска решения ОДУ с заданными начальными условиями изображена на рисунке 36.

Рисунок 36. Блок-схема численного поиска решения задачи Коши для ОДУ 2-го порядка путем последовательного интегрирования
Рисунок 36. Блок-схема численного поиска решения задачи Коши для ОДУ 2-го порядка путем последовательного интегрирования

Рисунок 36. Блок-схема численного поиска решения задачи Коши для ОДУ 2-го порядка путем последовательного интегрирования.

Моделирование проводилось на временном отрезке [0;10] с шагом дискретизации 0.1. На рис. 37. Представлены графики: зелёным цветом - искомой функции и красным - её производной .

Рисунок 37. Решение задачи Коши для ОДУ 2-го порядка
Рисунок 37. Решение задачи Коши для ОДУ 2-го порядка

Рисунок 37. Решение задачи Коши для ОДУ 2-го порядка

Мы разобрали на примере один из способов численного интегрирования в Xcos дифференциальных уравнений степени, выше 1 с заданными начальными условиями. Обозначим основные принципы рассмотренного подхода последовательного интегрирования:

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