Многие элементарные функции, в большинстве своем, являются решениями специальных линейных и нелинейных дифференциальных уравнений. Для вводимой в вычислительную модель функции независимой переменной должно быть известно ее математическое выражение и значение в момент начала решения.
Определяющее дифференциальное уравнение получают путем дифференцирования функции и замены фрагментов, вошедших в выражение производной, именами функции и производных. Дифференцирование и замену продолжают до тех пор, пока уравнение с искомой переменной в базовых операторах моделирующей системы окажется проще, чем выражение заданной функции.
Рассмотрим несколько типичных примеров:
Найдем определяюшее уравнение для функции , которая должна воспроизводится на интервале многих периодов.
Дифференцируем выражение по независимой переменной t :
.
В принципе, функцию косинуса уже можно выразить через y , однако в зависимости от квадранта перед корнем должен изменяться знак:
.
Такое исключение функции независимой переменной в выражении производной приводит к нелинейному уравнению первого порядка, которое к тому же требует переключения знака в зависимости от величины непрерывно изменяющегося аргумента.
Если же производную продифференцировать еще один раз, то в выражении второй производной появится функция синуса, вместо которой можно подставить величину, пропорциональную искомому y:
.
Приводя полученное дифференциальное уравнение второго порядка относительно y к канонической форме записи и вычисляя при t=0 начальные значения функции и ее производной, получим окончательно:
.
В качестве второго примера возьмем функцию
.
В этом выражении две элементарные функции времени. Для синуса мы получили определяющее уравнение выше. Можно было бы получить определяющее уравнение и для экспоненты, а затем с помощью операции умножения сформировать заданную функцию. Однако можно получить определяющее уравнение и для всей функции:
.
Откуда: .
Продифференцируем это выражение, вычленим нужные функции времени из исходной функции и ее производной и сделаем замену:
.
В результате приходим к дифференциальному уравнению второго порядка с двумя начальными условиями:
Для проверки правильности проведенных выкладок, полученное дифференциальное уравнение с этими начальными условиями можно решить аналитически, например, используя математический пакет DERIVE. Вариант программы аналитического решения в пакете версии 5.0 записывается так:
Операторы 5 и 8 решают соответственно характеристическое уравнение и систему уравнений с неизвестными весовыми коэффициентами для слагаемых общего решения 12. Операторы 6 и 7 выделяют значения корней характеристического уравнения, а операторы 9 и 10 – значения констант общего решения для начальных условий, введенных операторами 3 и 4. Без номеров представлены промежуточные результаты вычислений предшествующих операторов.
И, наконец, найдем уравнение для .
.
В этом случае можно бы было сначала построить уравнение для функции z=t , имеющего вид , а затем его решение суммировать с единицей и использовать в качестве делителя для получения y. При такой реализации промежуточные результаты отдельных операций растут во времени без ограничений, что является существенным недостатком. К тому же, точность выполнения операций деления существенно хуже, чем точность выполнения операций умножения.