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

Сведение к системе дифференциального уравнения 2-ой степени в Xcos

Способ 2: сведение к системе в форме Коши

Способ 2: сведение к системе в форме Коши

Рассмотрим более привычный и распространённый способ численного интегрирования обыкновенных дифференциальных уравнений n-го порядка: сведение к системе из n уравнений 1-го порядка, или, как ещё говорят, к нормальной форме или форме Коши.

Решение систем ОДУ без использования визульных блоков, было рассмотрено ранее в материале.

Рассмотрим дифференциальное уравнение второго порядка с заданными начальными условиями:

(1)

Введём замену переменных, сводящих уравнение (1) к системе из двух уравнений первой степени:

получим систему в новых фазовых переменных

Данную систему нам и необходимо замоделировать. Итак, разберём, какие из функциональных бликов Xcos понадобятся, чтобы найти решение задачи Коши системы из двух дифференциальных уравнений 1-ой степени (2) с начальными условиями (3).

Система (2) содержит два д.у. первого порядка, а значит нам понадобятся два блока интегратора. Здесь и в дальнейшем для моделирования дифференциальных уравнений, вместо INTEGRAL_f, будем использовать блок

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

с палитры «Системы с непрерывным временем». Смысловая нагрузка у блока INTEGRAL_m та же, что и у используемого ранее INTEGRAL_f, - поиск первообразной сигнала, подающегося на его вход. Однако блок INTEGRAL_m во-первых, более нагляден, а во-вторых, имеет большее количество настраиваемых внутренних параметров блока.

Итак, приступим к сбору функциональной блок-схемы, реализующей поиск численного решения системы дифференциальных уравнений (2), удовлетворяющего начальным условиям (3). Для создания блок-схемы нам потребуется:

  1. Добавить два блока INTEGRAL_m на рабочую область, дав им названия соответствующих фазовых переменных и задать во внутренних параметрах блоков INTEGRAL_m значения параметра Initial condition (начальные условия), указанные в (7б). Результатом данных действий будет схема, изображенная на рис.38;
  2. Собирать уравнения системы (2) необходимо, начиная с последнего и двигаясь вверх. Второе уравнение системы (2) имеет вид и представляет собой сумму двух слагаемых с разными знаками, первое из которых увеличено в 2 раза, а второе в 0.3 раз. Поэтому нам потребуется добавить блок сумматора BIGSOM_f, во внутренних параметрах которого указан знаков слагаемых [-1;1] и блоки усилителя GAINBLK_f со значениями 2 и 0.3 соответственно. Далее необходимо составить правую част рассматриваемого уравнения, то есть подать на вход BIGSOM_f, советующие слагаемые, как показано на рис. 39.
  3. Итак, мы получили в сумматоре выражение, которые необходимо проинтегрировать, то есть подать на вход блока-интегратора INTEGRAL_m, соответствующего фазовой переменной, производная которой стоит в левой части рассматриваемого уравнения. В уравнении слева стоит , а значит, выход сумматора нужно подсоединить ко входу интегратора, отвечающего за переменную (см. рис. 40).
  4. Перейдём к построению первого уравнения системы (2), имеющего вид . Фазовая переменная формируется как выход соответствующего блока интегратора. Распараллелим выход нижнего блока INTEGRAL_m, подав его на вход верхнего блока INTEGRAL_m, который соответствует фазовой переменной . В результате получим схему, изображенную на рисунке 41.
  5. Далее нам потребуется вывести графики фазовых переменных , для этого добавьте блоки CMSCOPE, END и CLOCK_c на рабочую область.
  6. По традиции, во внутренних параметрах блока END указать время 10 сек., на функциональный вход блока CMSCOPE нужно подать выход блока CLOCK_c с параметрами Period = 0.1, Время инициализации=0, а на регулярные входы осциллографа подать распараллеленные интегральные выходы, соответствующие фазовым переменным (рис. 42).
  7. После запуска моделирования и настройки параметров осциллографа, получим графики (рис. 43).
Рисунок 38. Блоки интеграторов с заданными начальными условиями
Рисунок 38. Блоки интеграторов с заданными начальными условиями

Рисунок 38. Блоки интеграторов с заданными начальными условиями

Рисунок 39. Блок-схема правой части второго диф.уравнения системы (2)
Рисунок 39. Блок-схема правой части второго диф.уравнения системы (2)

Рисунок 39. Блок-схема правой части второго диф.уравнения системы (2)

Рисунок 40. Вывод выхода сумматора на вход интегратора
Рисунок 40. Вывод выхода сумматора на вход интегратора

Рисунок 40. Вывод выхода сумматора на вход интегратора

Рисунок 41. Блок-схема замкнутой системы двух д.у. 1-ой степени (2)
Рисунок 41. Блок-схема замкнутой системы двух д.у. 1-ой степени (2)

Рисунок 41. Блок-схема замкнутой системы двух д.у. 1-ой степени (2)

Рисунок 42. Блок-схема поиска численного задачи Коши (2-3) с выводом графиков фазовых переменных
Рисунок 42. Блок-схема поиска численного задачи Коши (2-3) с выводом графиков фазовых переменных

Рисунок 42. Блок-схема поиска численного задачи Коши (2-3) с выводом графиков фазовых переменных

Рисунок 43. Графическое решение задачи Коши (2-3)
Рисунок 43. Графическое решение задачи Коши (2-3)

Рисунок 43. Графическое решение задачи Коши (2-3)

Итак, основными принципами второго способа численного интегрирования дифференциальных уравнений порядка выше 1 являются:

  • Сведение дифференциального уравнения n-ой к системе из n уравнений 1-ой степени, путём замены переменных;
  • Движение снизу вверх при визуализации уравнений получившейся системы;
  • Параллельное включение в схему блоков INTEGRAL_m, отвечающих за фазовые переменные системы;
  • Отображение результата численного моделирования на системах координат фазовая переменная – время;
  • Задание начальных условий в соответствующих блоках-интеграторах;
  • Задание отрезка интегрирования во внутренних параметрах блока END, начальной точки и шага дискретизации в блоке CLOCK_c;
  • Возможность выбора численного метода поиска решения дифференциального уравнения в настройкам параметров интегрирования.