на главную Методы решения краевых задач
Главная Основные понятия Виды методов решения
краевых задач
Метод стрельбы Конечно-разностный
метод

Пример_1


Методом стрельбы решить следующую первую краевую задачу для ОДУ второго порядка (точность ε = 0,01) с шагом h = 0,25 :

Первая краевая задача для ОДУ второго порядка

Решение.

Решим данную задачу методом Рунге – Кутта в Mathcad.

«Для решения краевой задачи в Mathcad имеется встроенная функция sbval, реализующая метод стрельбы и позволяющая свести краевую задачу к задаче Коши. Функция sbval имеет следующие параметры:

  • v– вектор, содержащий начальные приближения для недостающих начальных условий;
  • xmin, xmax – границы интервала, на котором ищется решение;
  • D(x,y) – вектор–функция, содержащий правые части системы дифференциальных уравнений первого порядка, эквивалентной исходному уравнению, размер вектора n совпадает со степенью старшей производной дифференциального уравнения;
  • load(xmin,v) – вектор–функция, элементы которой соответствуют n значениям функций на левой границе интервала. Часть этих значений известна, а для части заданы начальные приближения в векторе v. Их уточненные значения будут найдены в процессе вычисления;
  • score(xmax,y) – вектор–функция, имеющая то же число элементов, что и v. Каждое значение является разностью между начальными значениями в конечной точке интервала и соответствующей оценки для решения. Этот вектор показывает, на сколько близко найденное решение к истинному»[5, 48 c.].

Для решения данной задачи в Mathcad необходимо выполнить следующие действия:

  1. Введем граничные условия: x1:=0 и x2:=1
  2. Так как данная задача сводится к решению двух дифференциальных уравнений первого порядка: y' = z и z' = -xz + ex, поэтому функция D имеет вид:
    Функция D
    Рис. 2.10
  3. Задача Коши для дифференциального уравнения второго порядка содержит два начальных значения. Начальное приближение для недостающего значения задаем в векторе v, который в нашем случае состоит только из одного элемента: v0: = 0
  4. Зададим вектор – функции load и score, для этого необходимо ввести в позиции ввода рабочего аргумента выражения, описывающие данные функции:
    Вектор – функции load и score
    Рис.2.11
  5. Вычислим функцию sbval. Для этого необходимо:
    • Присвоить данную функцию переменной S.

    • Выбрать меню «Вставить» - «функция» - категория «всё» - имя «sbval», нажать «ОК».
    • Заполнить данную функцию следующим образом:
      Заполнение функции
      Рис. 2.12
    • На панели инструментов найти кнопку Кнопка - «инструменты некоторых знаков», затем на панели «Вычисления» выбрать знак равенства нажать Enter, в результате чего получим следующее (рис. 2.13):
      Результат
      Рис. 2.13
  6. Теперь, когда нам стало известно недостающее начальное условие в задаче Коши, можно воспользоваться функцией rkfixed (y, x1, x2, npoints, D), которая возвращает матрицу. Первый столбец этой матрицы содержит точки, в которых получено решение, а остальные столбцы – решения и его первые n - 1 производные.
    • Зададим n: = 4
    • Зададим вектор начальных значений:
      Вектор начальных значений
      Рис. 2.14
    • Присвоим данную функцию переменной Z
    • Выбрать меню «Вставить» - «функция» - категория «всё» - имя «sbval», нажать «ОК» или на панели инструментов выбрать Кнопка.
    • Заполнить данную функцию следующим образом:
      Результат заполнения
      Рис. 2.15
    • На панели инструментов найти кнопку Кнопка - «инструменты некоторых знаков», затем на панели «Вычисления» выбрать знак равенства нажать Enter, в результате чего получим следующее (рис.2.16):
      Результат
      Рис. 2.16
  7. Построим график функции Z в декартовой системе координат:
    • Выбрать меню «Вставить» - «Графики» - «X-Y-зависимость» (выбрать нужный график), либо на панели инструментов выбрать Кнопка и на панели «Графики» выбрать нужный тип графика – декартовый график и в появившемся шаблоне заполнить поля ввода данных (темные прямоугольники): имя переменной х по оси ОХ, имя функции f(x) по оси OY.
    • В появившихся полях ввода ввести предельные значения для осей абсцисс и ординат.
    • В итоге получаем (рис. 2.17):
      Результат
      Рис. 2.17
  8. Найдем угол стрельбы.
    • Воспользуемся формулой:
      tgα = α * π
      180
    • Подставим данные значения и выразим α:
      0,448 = α * π   →   α = 0,448 * 180 = 25,669°
      180 π

Таким образом, угол α равен 25,669°. На этом угле итерационная кривая имеет значение 1.


перейти на предыдущую страницу перейти в начало страницы

Карта сайта | Список литературы | Об авторе

©Селянина Л.С.
Hosted by uCoz