Двухточечные краевые задачи

Достаточно часто встречаются задачи, в которых значения решения известны в граничных точках интервала, например, к такой задаче сводится описание натянутой струны, закрепленной на концах. Задачи такого вида называются краевыми.

Предположим, что заданы не все начальные условия в начальной точке интервала, как в задаче Коши, но зато известны дополнительно значения решения и/или некоторых его производных в другой точке интервала. В частности, если:

§ задано дифференциальное уравнение n-го порядка;

§ в начальной точке х1 интервала задана только часть информации о значениях решения и некоторых его производных;

§ в конце интервала xk известны некоторые (не все) значения решения и некоторых его производных;

§ общее количество условий, заданных в точках х1 и х2, равно n.

В этом случае необходимо использовать функцию sbval, чтобы найти недостающие начальные условия в точке х1. После того, как эти недостающие начальные условия найдены, можно будет решать обычную задачу Коши любым методом, рассмотренным выше.

Пример, приведенный на рисунке 5.9 показывает, как использовать функцию sbval. Обратите внимание, что она не возвращает решение дифференциального уравнения, а только вычисляет недостающие начальные условия. При этом они вычисляются соответствующими тем значениям, которые были заданы в точке xk. Далее нужно использовать эти найденные начальные условия, и решать обычную задачу Коши.

Рисунок 5.9 - Пример использования функции sbval
для подготовки краевой задачи к решению

Функция sbval возвращает вектор, содержащий недостающие начальные условия в точке х1 и имеет вид:

sbval (v, x1, xk, D, load, score) ,

где v- вектор начальных приближений для искомых недостающих начальных значений в точке х1;

x1, xk - граничные точки интервала, на котором ищется решение;

D(x,y) - функция-вектор, описывающая решаемое уравнение или систему, как это описано в разделе 5.1.1.;

load(x1,v) - функция-вектор, возвращающая значения начальных условий в точке х1. Вектор состоит из n элементов, некоторые из которых будут константами, определяемыми заданными начальными условиями. Другие элементы будут неизвестными и будут найдены функцией sbval. Если значение начального условия неизвестно, необходимо использовать вектор, соответствующий вектору начальных приближений из v ;

score(xk, y) - функция-вектор, количество элементов которого равно числу элементов вектора v. Каждый элемент вектора содержит разность между начальным условием, заданным в точке xk, и значением искомого решения в этой точке. Компоненты этого вектора показывают, насколько значения найденного в точке xk решения близки к значениям, заданным в xk.

Как видно из приведенного примера, решение краевой задачи с помощью функции sbval представляет достаточные трудности. Эта задача сама по себе довольно сложная, и вдобавок механизм реализации решения в среде MathCad довольно запутанный.

Для устранения этого недостатка, разработчики не только вставили в MathCad функцию odesolve, но и возложили на нее возможность использования для решения краевой задачи. Порядок применения этой функции практически тот же самый, что и для решения задачи Коши. Пример решения краевой задачи, приведенной на рисунке 5.9, с помощью функции odesolve показан на рисунке 5.10.

Рисунок 5.10 - Пример решения краевой задачи с помощью функции odesolve

К сожалению, некоторые краевые задачи, которые успешно решаются в MathCad с помощью комбинации функций sbval и rkfixed, приводят к сообщению об ошибке, если используется функция odesolve.

В этом случае рекомендуется поэкспериментировать со значениями параметра step (см. раздел 5.1.3), чтобы повысить точность решения. Можно также попытаться изменить применяемый при работе odesolve метод интегрирования: с фиксированным шагом (fixed step) или с адаптирующимся шагом (аdaptive step size) , дважды щелкнув мышкой на слове odesolve и отмечая Fixed или Adaptive в контекстном меню.

 

 

СТАТИСТИЧЕСКИЕ ФУНКЦИИ