* Данный текст распознан в автоматическом режиме, поэтому может содержать ошибки
764
Решение дифференциальных уравнений
9.12.6. Решение двухточечных краевых задач
Рассмотренные до сих пор методы численного решения дифференциальных урав нений исходили из задания начальных условий в одной точке – слева. Однако не редко надо найти такое решение дифференциального уравнения, при котором оно завершается также в заданной точке. Наглядным примером этого является реше ние задачи о попадании снаряда, выпущенного из пушки, точно в цель. При стрельбе полет снаряда, выпущенного из орудия с заданной скоростью, описыва ется системой дифференциальных уравнений. Неизвестным является угол, под которым надо выстрелить снаряд, чтобы он попал в цель. Задачи такого рода на зываются двухточечными краевыми задачами, а один из методов их решения име нуется методом стрельбы, или пристрелки (shooting method). Mathcad позволяет решать задачи данного типа, у которых часть начальных условий задана в начальной точке интервала решения, а остальная часть – в его конечной точке. Возможно также решение задач с граничными условиями в неко торой точке в середине интервала решения. Некоторые задачи имеют решения для определенных значений некоторого числового параметра – это задачи на соб ственные значения. Для решения двухточечных краевых задач в Mathcad предназначены следую щие функции: • bvalfit (v1,v2,x1,x2,xf,D,load1,load2,score) – возвращает вектор недостающих начальных условий для краевой задачи, заданной в векторах D, v1 и v2 на интервале от x1 до x2, где решение известно в неко торой промежуточной точке xf; • sbval(y,x1,x2,D,load,score) – возвращает вектор недостающих L начальных условий на левой границе интервала решений для краевой зада чи, определенной в символьном векторе D, вектор y определяет начальные условия на интервале [x1,x2], прочие параметры определены ниже. В этих функциях векторы v, v1, v2 задают начальные условия, а x, x1, x2 – граничные точки интервала решений. D(x,y) – функция, возвращающая N компонентный вектор с первыми производными неизвестных функций. load(x1,v), load1(x1,v1) и load2(x2,v2) – векторозначные функции, воз вращающие значения начальных условий в точках x1 (x2). score(xf,y) – век торозначная функция, возвращающая n элементный вектор соответствия. Он указывает, насколько значения решений, начинающихся из точек x1 и x2, должны соответствовать xf. Например, если нужно совпадение решений, то score(xf,y) := y. Число элементов векторов D и load равно количеству уравнений N, а векторов z и результата выполнения функции sbval – количеству правых граничных условий L. Соответственно, число левых граничных условий должно быть (N-L). Фрагмент документа Mathcad с двумя примерами решения краевой задачи по казан на рис. 9.40. Оба примера достаточно очевидны и не нуждаются в особом