Главная страница
Навигация по странице:

  • 2. МЕТОДЫ РЕШЕНИЯ КРАЕВЫХ ЗАДАЧ ДЛЯ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ ВТОРОГО ПОРЯДКА 2.1. Постановка краевой задачи для обыкновенных дифферен

  • 2.2. Методы решения краевых задач для линейных обыкно- венных дифференциальных уравнений второго порядка 2.2.1. Метод стрельбы

  • 2.2.2. Метод линейной интерполяции (метод хорд)

  • 2.2.3. Метод суперпозиции

  • Численные методы решения краевых задач для обыкновенных дифферен. Краевых задач для обыкновенных


    Скачать 438.32 Kb.
    НазваниеКраевых задач для обыкновенных
    Дата03.07.2019
    Размер438.32 Kb.
    Формат файлаpdf
    Имя файлаЧисленные методы решения краевых задач для обыкновенных дифферен.pdf
    ТипУчебное пособие
    #83576
    страница2 из 4
    1   2   3   4
    Результаты расчета
    x
    i
    y
    ан
    (x
    i
    )
    y
    i
    (метод
    Эйлера)
    y
    i
    (метод
    Рунге-
    Кутта)
    y
    i
    (метод
    Рунге-Кутта-
    Мерсона)
    0 1 1
    1 1
    0.2 1.49183 1.4 1.49186 1.49184 0.4 2.22554 2.0151 2.22563 2.22557 0.6 3.32012 2.9474 3.32028 3.32017 0.8 4.95303 4.34999 4.95329 4.95313 1 7.38906 6.45181 7.38946 7.38921
    Из таблицы видно, что методы Рунге-Кутта 4-го порядка и Рунге-
    Кутта-Мерсона 5-го порядка дают результаты, близкие аналитическому решению, даже на сетке, состоящей из 5 точек.
    Стоит заметить, что результаты, полученные методом 5-го порядка точнее результатов, полученных с помощью метода 4-го порядка.
    2. МЕТОДЫ РЕШЕНИЯ КРАЕВЫХ ЗАДАЧ ДЛЯ
    ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
    ВТОРОГО ПОРЯДКА
    2.1. Постановка краевой задачи для обыкновенных дифферен-
    циальных уравнений второго порядка
    На практике приходится часто решать задачи, когда условия задают- ся при двух значения независимой переменной (на концах рассматривае- мого отрезка). Такие задачи называются краевыми, получаются при ре- шении уравнений высших порядков или систем уравнений.

    12
    Рассмотрим линейное дифференциальное уравнение второго порядка
     
     
     
    2 2
    0,
    0
    d y
    dy
    x
    q x y
    f x
    x
    l
    dx
    dx







    (2.1)
    Краевые условия в общей форме запишем в виде:
     
     
    1 1
    1 0
    0
    ,
    dy
    y
    dx






    (2.2)
     
     
    2 2
    2
    dy l
    y l
    dx





    (2.3)
    Здесь x – независимая переменная, изменяющаяся от x = 0 до x = l;
    y = y (x) – искомая функция; ρ (x), q (x) и f (x) – заданные функции, ко- торые чаще всего на промежутке
    0,
    x
    l


      
    являются непрерывными;

    1
    ,
    β
    1
    , γ
    1
    ,

    2
    , β
    2
    , γ
    2
    – заданные числа, определяющие вид граничных условий
    (2.2) – (2.3). Требуется найти такое решение y (x) уравнения (2.1), кото- рое при стремлении x к точке x = 0 справа удовлетворяло бы граничному условию (2.2), а при стремлении x к правой границе x = l слева (изнутри области) – удовлетворяло бы правому граничному условию (2.3).
    Существуют различные частные случаи граничных условий (2.2) –
    (2.3). Так, например, если

    1
    = 0, β
    1
    = 1, то говорят, что задано граничное условие первого рода: y (0) = γ
    1
    ; если, например,

    2
    = 1, β
    2
    = 0, то гово- рят, что на границе x = l задано граничное условие второго рода
    y
    '
    (l) = γ
    2
    . Если, например,

    1
    > 0, β
    1
    > 0, то говорят, что на границе x = 0 задано граничное условие третьего рода. В этом случае при корректной постановке задачи коэффициенты при y и y
    '
    в левом граничном условии должны быть различных знаков, а в правом – одного и того же знака, что и отражено в записи граничных условий (2.2) – (2.3).
    Численные методы решения краевых задач (2.1) – (2.3) делятся на две группы. Отнесем условно к первой группе такие методы, когда решение краевой задачи сводится к решению нескольких (двух) задач Коши. Из- вестно, что решение задач Коши можно реализовать с любой заданной точностью различными методами.
    Ко второй группе методов решения краевых задач относится метод конечных разностей. При этом дифференциальные операторы заменяют-

    13 ся разностными (чаще всего, на равномерной сетке), и задача сводится к решению системы линейных алгебраических уравнений. При этом точ- ность результатов оценивается путем двойного расчета при различных шагах сетки (часто при h и h/2).
    2.2. Методы решения краевых задач для линейных обыкно-
    венных дифференциальных уравнений второго порядка
    2.2.1. Метод стрельбы
    Дана краевая задача для дифференциального уравнения второго по- рядка
     
     
     
    0,
    0
    y
    p x y
    q x y
    f x
    x
    l
    







    (2.4)
    С граничными условиями в виде
     
    0
    ,
    y
    a

    (2.5)
     
    y l
    b

    . (2.6)
    Приведем задачу (2.4) – (2.6) к системе дифференциальных уравне- ний первого порядка. Для этого введем обозначение y
    '
    = z, тогда уравне- ние 2.4 перепишется в виде системы уравнений:
     
     
     
    ,
    y
    z
    z
    p x z
    q x y
    f x
      

       


    
    (2.7)
    Исходное дифференциальное уравнение второго порядка (2.4) пре- вратилось в систему двух дифференциальных уравнений первого порядка
    (2.7). Для решения (2.7) необходимо два начальных условия. В случае, если будут определены начальные условия, задача (2.7) с двумя началь- ными условиями будет являться задачей Коши. Одно начальное условие для системы уравнений (2.7) задано в исходной постановке уравнением
    (2.5). Для разрешимости (2.7) необходимо второе условие, соответст- вующее функции z (x) в координате x = 0.
     
    0
    y
    a

    (2.8)
     
    0
    ?
    z

    (2.9)
    Задача (2.7) – (2.9) есть задача Коши для системы двух дифференци- альных уравнений первого порядка.

    14
    По смыслу значение функции z (0) определяет тангенс угла наклона функции y (x) при x = 0. Если в качестве начального значения функции
    z (x) задать произвольное значение z (0) =
    , и решить задачу (2.7) – (2.9) численно, одним из методов, описанных в главе 1, то в координате x = l будет вычислено некоторое значение y (l) = y
    n
    . Очевидно, что при слу- чайном выборе z (0) =
     величина y (l) = y
    n
    ≠ b, что противоречит на- чальному условию (2.6) исходной задачи. При изменении параметра
     для граничного условия z (0) =

    1
    решение задачи (2.7) дает отличное от предыдущего значение исходной функции на правой границе, y (l) = y
    n,1
    Исходя из этого, используется следующий алгоритм расчета. Вычисля- ются значения y (l) при z (0) =
    и z (0) = 
    1
    . Проводится анализ, как при изменении величины
    , изменилась величина y
    n
    : стала ли она «ближе» к величине b, или «дальше». По результатам анализа определяется новая величина параметра
     и повторяется расчет. Многократным заданием величины
     добиваемся совпадения вычисленной величины y
    n
    с величи- ной b с заданной точностью расчета.
    Такой метод расчета называется методом «стрельбы». Название по- шло из баллистики артиллерийский снарядов, когда путем выстрелов с
    «недолетом» и «перелетом» третьим выстрелом цель (в нашем случае это величина функции y (l) = y
    n
    ) поражается.
    В случае, когда на левой границе (x = 0) задано условие второго рода
    (y' (0) = a), в качестве начальных условий (2.8) – (2.9) выступают урав- нения: y (0) =
    , z (0) = a,. Варьируемой величиной является значение исходной функции на границе x = 0. Алгоритм расчета при этом не меня- ется. В случае, когда на правой границе (x = l) задано значение производ- ной (y' (l) = b), в расчетах с величиной b необходимо сравнивать полу- ченное для разных величин
     значение z
    n
    Пример программы для граничных условий третьего рода:

    15
     
     
    1 1
    1 0
    0
    ,
    dy
    y
    dx






     
     
    2 2
    2
    dy l
    y l
    dx





    приведен в приложении 1.
    2.2.2. Метод линейной интерполяции (метод хорд)
    Рассмотрим смешанную краевую задачу для уравнения
     
     
     
    0,
    0
    y
    p x y
    q x y
    f x
    x
    l
    







    (2.10)
    Граничные условия возьмем в виде
     
    0
    ,
    y
    a

    (2.11)
     
     
    y l
    y l
    b




    (2.12)
    Здесь a, b,
    – заданные числа, определяющие вид граничных усло- вий
    Решать численно краевые задачи можно как слева направо (от x = 0 к
    x = l), так и, наоборот, x = l до x = 0.
    Рассмотрим сначала порядок расчета слева направо. При переходе от задачи (2.10) к системе двух дифференциальных уравнений (2.7) требует- ся дополнить систему двумя граничными условиями. Так как мы выбрали расчет слева направо, то для решения задачи требуются граничные усло- вия слева, уравнение (2.11). Согласно (2.11) на левой границе задано зна- чение функции y (0) = a, но не задано значение производной. Введем для производной условие y' (0) =
     (– неизвестная величина). Значение
    «недостающего» начального условия
     нужно найти так, чтобы выполни- лось правое граничное условие (2.12). Оказывается, что это можно сде- лать за две попытки. Выберем любые два значения
    =
    1
    ,
    =
    2
    и решим две задачи Коши для уравнения (2.7) с начальными условиями:
     
     
     
     
    1 1
    1 2
    2 2
    0
    ,
    0
    ;
    0
    ,
    0
    y
    a y
    y
    a y








    (2.13)
    Полученные решения обозначим как y = y
    1
    (x) и y = y
    2
    (x). Найдем соответствующие значения левых частей в граничном условии (2.12).
    Пусть

    16
     
     
     
     
    1 1
    1 2
    2 2
    ,
    y l
    y l
    b
    y l
    y l
    b








    Здесь значения b
    1
    и b
    2
    получены в результате численного решения двух задач Коши (2.7) с граничными условиями (2.13). Теперь искомое значение недостающего начального условия y' (0) =
     можно найти с помощью линейной интерполяции:
    1 1
    2 1
    2 1
    ,
    b
    b
    b
    b
     







    т.е.


    1 1
    2 1
    2 1
    b
    b
    b
    b









    (2.14)
    Полученное значение
     и будет являться недостающим начальным условием. Объясняется это линейностью задачи. Как известно, диффе- ренциальное уравнение (2.10) имеет общее решение
     
     
     
     
    1 1 2 2
    ,
    y x
    c u x
    c u x
    y x



    н
    где u
    1
    (x) и u
    2
    (x)– линейно-независимые решения однородного уравне- ния (при f (x)
     0), а y
    n
    (x)– какое-либо решение неоднородного уравне- ния (частное решение неоднородного уравнения). Удовлетворяя левому граничному условию (2.11), в общем решении останется одна неизвест- ная постоянная, которая входит в выражение для y (x)линейным обра- зом. Проведя в плоскости (
    , b) прямую, проходящую через две точки
    (

    1
    , b
    1
    ) и (

    2
    , b
    2
    ) при заданном значении b мы однозначно найдем точное значение
    .
    Теперь таблицу значений функции
     
    y x
    (и ее производной) можно найти интерполяцией
     
     
     
     
    1 1
    1 1
    2 1
    y x
    y x
    y x
    y x
     












    Однако на практике, жертвуя машинным временем, обычно проводят третий расчет задачи Коши с условиями
     
     
    0
    ,
    0
    y
    a
    y




    В случае расчета справа налево от точки x = l до x = 0 алгоритм рас- чета меняется. Рассмотрим задачу (2.10) с начальными условиями:
     
     
    ,
    y l
    y l
    b

    


     

    17
    Решая две задачи Коши для
    =
    1
    ,
    =
    2
    при x = 0 получим некото- рые значения y
    1
    (0) = a
    1
    и y
    2
    (0) = a
    2
    . Недостающее начальное условие получится с помощью линейной интерполяции


    1 1
    2 1
    2 1
    a
    a
    a
    a










    Замечание. На практике обычно выбирают простейшие значения
    , например

    1
    = 1 и

    2
    = 0. При этом, если само уравнение (2.10) является однородным, т.е. f (x)
     0, и граничное условие так же однородное,
    y (0) = 0, то решение имеет вид y
    2
    (x)
     0, b
    2
    = 0. Тогда второй расчет
    (при

    2
    = 0) нет необходимости производить и формула (2.14) даст ответ в виде
    1 1
    b
    b
     

    Поэтому, если предложено решить однородное уравнение, то следует посмотреть, есть ли однородное граничное условие и если оно есть, то начинать расчет следует от этой границы! Эта рекомендация остается в силе и для других методов решения краевых задач.
    Пример. Решить краевую задачу:


       
     
    1 4 8
    5, 0 1;
    0 0
    0;
    1 0.
    y
    x y
    y
    x
    y
    y
    y
    











    Будем проводить расчет слева направо (от x = 0 до x = 1). Выберем начальные условия, удовлетворяющие левому граничному условию:
     
     
     
     
    1 1
    1 1
    2 2
    2 2
    0
    ;
    0
    ;
    0
    ;
    0
    y
    y
    y
    y










    Чтобы показать универсальность метода, в расчете были выбраны, наверное, совсем неподходящие значения

    1
    = 20 и

    2
    = 10.
    Таблица 2.1
    x
    1
    y
    1
    y
    2
    y
    2
    y
    y
    y
    0.00 20.000 20.000 10.000 10.000 1.000 1.000 0.10 21.140 2.961 10.582 1.718 1.080 0.600 0.20 20.622 -13.198 10.358 -6.146 1.120 0.200 0.30 18.529 -28.511 9.366 -13.611 1.120
    -0.200

    18 0.40 14.947 -42.979 7.649 -20.674 1.080
    -0.600 0.50 9.963
    -56.567 5.245 -27.321 1.000
    -1.000 0.60 3.666
    -69.201 2.200 -33.516 0.880
    -1.400 0.70 -3.842 -80.758
    -1.441 -39.201 0.720
    -1.800 0.80 -12.444 -91.051
    -5.621 -44.287 0.520
    -2.200 0.90 -22.000 -99.797
    -10.274 -48.641 0.280
    -2.600 1.00 -32.338 -106.573
    -15.318 -52.061 0.000
    -3.000
    В таблице 2.1 приведены результаты расчета. В первом столбце вы- даны значения x с шагом h = 0.1. Затем в двух столбцах выданы значе- ния y
    1
    (x) и y
    1
    '
    (x), в следующих двух – y
    2
    (x) и y
    2
    '
    (x), в двух последних столбцах – решение краевой задачи. В результате интерполяции по фор- муле (2.14) получено значение
     = 1.
    Обсудим результаты. Заслуживает внимание последний столбец (для
    y
    '
    (x)). Нетрудно заметить, что значение y
    '
    (x) от одной точки к соседней изменяются на постоянную величину – 0.4. Это означает, что функция
    y
    '
    (x) – линейная (многочлен первой степени). Значит, точное решение
    y (x) – многочлен второй степени и, следовательно, можно найти в ана- литической форме точное решение задачи. Оно имеет вид
    2
    y
    ax
    bx
    c



    . Коэффициенты a, b и c можно найти подстановкой най- денного выражения y (x) в дифференциальное уравнение и в граничные условия. Рекомендуем проделать эти выкладки и получить точное реше- ние.
    Можно поступить и проще. Найдем по таблице y
    ''
    1 0
    0.6 1 4.
    0.1
    y
    y
    y
    h




     

     
    Откуда
     
    4 1
    y x
    x

     

    ;
     
    2 2
    1.
    y x
    x
    x
     
     
    При интегрировании использовались начальные условия y
    '
    (0) = 1, y (0) = 1. Рекомендуем про- верить, что найденное решение действительно удовлетворяет заданному уравнению, и граничным условиям. Вот так численный счет помог найти аналитическое решение задачи!

    19
    2.2.3. Метод суперпозиции
    Рассмотрим простейшую первую краевую задачу для уравнения
     
     
     
    0,
    y
    p x y
    q x y
    f x
    a
    x
    b
    







    (2.15)
    На концах промежутка заданы граничные условия
     
    ,
    y a


    (2.16)
     
    y b


    . (2.17)
    Здесь
    p (x), q (x), f (x) – заданные функции на промежутке
    a < x < b; a, b,
    , β – заданные числа, определяющие граничные усло- вия. Сущность метода суперпозиции состоит в представлении общего решения уравнения (2.15) в виде суммы общего решения однородного уравнения и частного решения неоднородного уравнения. Удовлетворяя одному из граничных условий, например, левому (2.16), найдем связь между произвольными постоянными, входящими в общее решение одно- родного уравнения. Проведем реализацию метода следующим образом:
    Будем искать решение краевой задачи (2.15) – (2.17) в виде
     
       
    y x
    cu x
    v x


    (2.18)
    И потребуем, чтобы это выражение удовлетворяло уравнению (2.15) и граничному условию (2.16) при любом значении постоянной с. Под- ставляя (2.18) в (2.15), получим
    c u
    pu
    qu
    v
    pv
    qv
    f


    

    









    Чтобы это равенство имело место при любом значении постоянной с, необходимо выражение в квадратных скобках приравнять нулю. В ре- зультате получаем два дифференциальных уравнения:
     
     
     
     
     
    0,
    u
    p x u
    q x u
    v
    p x v
    q x v
    f x
    




    




    (2.19)
    Подстановка (2.18) в граничное условие (2.16) дает
       
    ,
    cu a
    v a



    откуда имеем
     
     
    0,
    u a
    v a



    (2.20)
    Чтобы получить задачу Коши для системы (2.19), необходимо задать значения производных u
    1   2   3   4


    написать администратору сайта