12.1.4. Решение краевых задач с дополнительным условием в промежуточной точке

Иногда дифференциальные уравнения определяются с граничными условиями не только на концах интервала, но и с дополнительным условием в некоторой промежуточной точке расчетного интервала. Чаше всего такие задачи содержат данные о негладких в некоторой внутренней точке интервала решениях. Для них имеется встроенная функция bvaif.it, также реализующая алгоритм стрельбы.

  • bvalfit(z1,z2,x0,x1,xf,D,load1,load2,score) — поиск вектора недостающих граничных условий для краевой задачи с дополнительным условием в промежуточной точке для системы N ОДУ;
    • z1 — вектор, присваивающий недостающим начальным условиям на левой границе интервала начальные значения;
    • z2 — вектор того же размера, присваивающий недостающим начальным условиям на правой границе интервала начальные значения;
    • х0 — левая граница расчетного интервала;
    • x1 — правая граница расчетного интервала;
    • xf — точка внутри интервала;
    • D(х,у) — векторная функция, описывающая систему N ОДУ, размера NXI и двух аргументов — скалярного х и векторного у. При этом у — это неизвестная векторная функция аргумента х того же размера NXI;
    • loadi(x0,z) — векторная функция размера NXI левых граничных условий, причем недостающие начальные условия поименовываются соответствующими компонентами векторного аргумента z;
    • load2 (x1,z) — векторная функция размера NXI правых граничных условий, причем недостающие начальные условия поименовываются соответствующими компонентами векторного аргумента z;
    • score (xf, у) — векторная функция размера NXI, выражающая внутреннее условие для векторной функции у в точке xf.

Обычно функция bvalf it применяется для задач, в которых производная решения имеет разрыв во внутренней точке xf. Некоторые из таких задач не удается решить обычным методом пристрелки, поэтому приходится вести пристрелку сразу из обеих граничных точек. В этом случае дополнительное внутреннее условие в точке xf является просто условием сшивки в ней левого и Правого решений. Поэтому для данной постановки задачи оно записывается в форме score(xf,y):=y.

Рассмотрим действие функции bvaifit на знакомом примере модели взаимодействия пучков света (см. рис. 12.1), предположив, что в промежутке между xf=0.5 и x1=1.0 находится другая, оптически более плотная среда с другим коэффициентом ослабления излучения а(х)=3. Соответствующая краевая задача решена в листинге 12.3, причем разрывный показатель ослабления определяется в его второй строке.

Листинг 12.3. Краевая задача с фанячным условием в промежуточной точке

Система уравнений и левое краевое условие вводится так же, как и в предыдущем листинге для функции sbvai. Обратите внимание, что таким же образом записано и правое краевое условие. Для того чтобы ввести условие отражения на правой границе, пришлось определить еще один неизвестный пристрелочный параметр z20. Строка листинга, в которой определена функция score, задает условие стрельбы — сшивку двух решений в точке xf. В самой последней строке листинга выдан ответ — определенные численным методом значения обоих пристрелочных параметров, которые объединены в вектор и (мы применили в предпоследней строке операцию транспонирования, чтобы результат получился в форме вектора, а не матрицы-строки).

Для корректного построения графика решения лучше составить его из двух частей — решения задачи Коши на интервале (x0,xf) и другой задачи Ко-ши для интервала (xf,x1). Реализация этого способа приведена в листинге 12.4, который является продолжением листинга 12.3. В последней строке листинга 12.4 выведено значение второй искомой функции на правой границе интервала. Всегда полезно проконтролировать, что оно совпадает с соответствующим пристрелочным параметром (выведенном в последней строке листинга 12.3).

Листинг 12.4. Решение краевой задачи (продолжение 12.3)

Решение краевой задачи приведено на рис. 12.5. С физической точки зрения естественно, что интенсивность света уменьшается быстрее по мере распространения в более плотной среде в правой половине расчетного интервала. В средней точке xf=0.5, как и ожидалось, производные обоих решений имеют разрыв.

Еще один пример решения краевых задач с разрывными коэффициентами ОДУ приведен в справочной системе Mathcad.

Рис. 12.5. Решение краевой задачи с разрывом в хf=0.5 (листинги 12.3—12.4)

Ради справедливости необходимо заметить, что разобранную краевую задачу легко решить и с помощью функции sbval, заменив в листинге 12.2 зависимость а(х) на третью строку листинга 12.3. В этом случае листинг 12.2 даст в точности тот же ответ, что показан на рис. 12.5. Однако в определенных случаях (в том числе из соображений быстроты расчетов) удобнее использовать функцию bvaif it, т. е. вести пристрелку с обеих границ интервала.

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