MathCAD



         

Рис. 5.5. Решение краевой задачи об эпидемии функцией sbval - часть 2


Функция sbval не решает краевую задачу, а только находит недостающие значения на краю отрезка. После этого краевая задача переходит в задачу с начальными условиями (задача Коши), которая и решается в пункте 7 рис. 5.5. Заодно проверяется точность решения: задали 100 больных – получим почти 100 (ошибка во втором знаке после запятой).

Для решения краевой задачи в среде Mathcad есть еще одна функция – bvalfit. Она используется в тех случаях, когда нет всей необходимой информации для функции sbval, но известно решение задачи в промежуточной точке. Функция bvalfit решает задачу с двумя граничными точками, начиная с конечных точек и следуя траекториям решения и его производным в промежуточных точках:

bvalfit( x1, x2, tнач, tкон, tf, f, load1, load2, score),

где

x1- вектор предполагаемых начальных значений, не определенных в точке х1;

x2 – то же для точки х2;

tнач, tкон – конечные точки интервала, в котором должно быть вычислено решение дифференциального уравнения;

tf – точка между tнач и tкон, в которой траектории решений, начатые с tнач, и траектории, начатые с tкон, должны совпадать;

f(t, x) – векторная функция, состоящая из n элементов, содержащая первые производные неизвестной функции;

load1(tнач, x1) – векторная функция, n элементов которой соответствуют значениям n неизвестных функций в точке х1. Некоторые из этих значений будут постоянными, заданными начальными условиями. Другие будут неизвестны вначале, но будут найдены. Если значение неизвестно, то следует использовать соответствующее предполагаемое значение из вектора x1;

load2(tкон, x2) – аналог load1, но для значений n неизвестных функций в точке х2;

score(tf, x) – векторная функция, состоящая из n элементов. Эта функция применяется для того, чтобы задать, как решения должны совпадать в точке tf. Обычно нужно определить score(tf, x):= x, чтобы все решения неизвестных функций совпадали в точке tf.

Функция bvalfit по своей сути решает две краевые задачи на двух смежных отрезках интегрирования. Она особенно полезна, когда производная имеет разрыв где-то внутри интервала интегрирования. При развитии эпидемии (наша задача) такое может произойти, если, например, комиссия из центра снимет с работы медицинское начальство города и тем самым изменит значение коэффициента Пр.

Второй тип задач с граничными условиями появляется при решении дифференциального уравнения с частными производными. В этом случае приходится фиксировать значение решения не в двух точках, как было сделано в предыдущей «плоской» задаче, а в совокупности точек, составляющих границу: в углах прямоугольника, например. В среде Mathcad имеются две функции (relax и multigird) для решения таких уравнений. Но разговор о них выходит за рамки этой книги. Скажем лишь то, что эти функции предназначены для решения дифференциальных уравнений конкретного вида – уравнений Лагранжа и Пуассона. Задачи другого вида требуют составления индивидуальной схемы решения с привлечением той же «плоской» функции rkfixed.




Содержание  Назад  Вперед