Большое количество задач сводится к решению дифференциальных уравнений, однако, лишь небольшая часть их может быть решена аналитически. В связи с этим значительно возрастает роль численного решения дифференциальных уравнений.
Дифференциальным называется уравнение относительно неизвестной функции и её производных различных порядков .
Даже в том случае, когда аналитическое решение данного уравнения все же существует, необходимо представить решение в графическом виде, чтобы понять его характер. В связи с этим, необходимо найти численное решение уравнения.
Для численного интегрирования одного ОДУ у пользователя Mathcad 11 (начиная с версии Mathcad 2000 Pro) имеется выбор-либо использовать вычислительный блок Given/odesoive, либо встроенные функции, как в прежних версиях Mathcad. Первый путь предпочтительнее из соображений наглядности представления задачи и результатов, а второй дает пользователю больше рычагов воздействия на параметры численного метода. Рассмотрим последовательно оба варианта решения.
Вычислительный блок для решения одного ОДУ, реализующий численный метод Рунге-Кутты, состоит из трех частей:
Given - служебное слово;
ОДУ и начальные условия, записанное с помощью логических операторов, причем начальное условие должно быть в форме: y(t0) = b;
Оdesolve (V, t, tmax, N) - встроенная функция для решения ОДУ относительно переменной t на интервале (t0, tmax), N - число шагов. Метод численных вычислений по которому будет работать функция пользователь может выбрать после щелчка по имени функции: фиксированный - метод Рунге-Кутта 4-го порядка с постоянным шагом интегрирования, адаптивный - метод Рунге-Кутта 4-го порядка с переменным шагом интегрирования либо жёсткий - метод Радаус.
Альтернативный метод решения ОДУ перешел из прежних версий Mathcad. Он заключается в использовании одной из встроенных функций: rkfixed (vi, tmin, tmax, n, f), Rkadapt (vi, tmin, tmax, n, f), Bulstoer (vi, tmin, tmax, n, f) и др. Аргументы функций одинаковы: vi- вектор начальных значений, tmin- начальное значение текущей переменной, tmах- конечное значение текущей переменной, n - число шагов, на которые разбит интервал tmах- tmin, f - символьный вектор правых частей уравнений системы. Этот способ несколько проигрывает первому и в простоте, и в наглядности Поэтому предпочтительнее вычислительный блок Given/odesoive.
Так же для нахождения численного решения дифференциального уравнения можно воспользоваться алгоритмом Эйлера.
Применим алгоритмом Эйлера для решения данной задачи.
Алгоритмом Эйлера.
Метод численного решения диф. уравнений включает в себя преобразование дифференциального уравнения в уравнение конечноразностное. Поскольку уравнение:
(1)
описывает изменение величины u(t), то с известной степенью точности можно записать
,
где , а D t - конечный интервал, т.е. (2). С учетом этого из уравнения (1) получим:
(3)
Это и есть конечноразностное уравнение, соответствующее дифференциальному уравнению (1). В первом приближении предполагается, что правая часть уравнения (1), т.е. скорость изменения u постоянна на отрезке D t. Это метод касательных или метод Эйлера. Совершенно очевидно, что данный метод будет давать хорошее приближение, если D t достаточно мало.
При решении такого типа задач часто сталкиваются с необходимостью определить влияние на полученное решение какого либо изменяющегося параметра. Для этого необходимо задать вектор, соответствующий изменению параметра и рассчитывать уже набор векторов решения, т.е. матрицу решения. Принцип реализации таких вычислений приведён ниже в MathCad программе. В которой представлено влияние параметра h (коэффициент теплообмена) на изменение температуры жала паяльника с учётом потерь тепла на излучение.