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

  • Дополнительная литература

  • Алексей Юрьевич Крайнов Ксения Михайловна Моисеева ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ КРАЕВЫХ ЗАДАЧ ДЛЯ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

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


    Скачать 438.32 Kb.
    НазваниеКраевых задач для обыкновенных
    Дата03.07.2019
    Размер438.32 Kb.
    Формат файлаpdf
    Имя файлаЧисленные методы решения краевых задач для обыкновенных дифферен.pdf
    ТипУчебное пособие
    #83576
    страница4 из 4
    1   2   3   4
    ПРИЛОЖЕНИЕ
    Примеры программ для расчета краевой задачи
     
    2 2
    2 3
    exp 4 0, 0 1,
    d y
    dy
    y
    x
    x
    dx
    dx






    с граничными условиями
       
    0 0
    0.6,
    dy
    y
    dx


       
    1 1
    4 exp(3)
    exp(4).
    dy
    y
    dx



    Точное решение задачи имеет вид:
     
     
    exp exp(3 ) 0.2 exp(4 ).
    an
    y
    x
    x
    x
    x




    1. Программы на языке PascalABS.net
    Метод конечных разностей
    const N=20; ax=0; bx=1;
    function y_an(x:real):real; begin y_an:=exp(-x)+exp(3*x)+0.2*exp(4*x); end;
    function p(x:real):real; begin p:=-2; end;
    function q(x:real):real; begin q:=-3; end;
    function f1(x:real):real; begin f1:=exp(4*x); end;
    var x,y,A,B,C,F,aa,bb:array [0..N] of real; h,xx:real; i:integer;
    begin
    h:=(bx-ax)/N;
    for i:=0 to N do x[i]:=ax+h*i;
    for i:=0 to N-1 do begin
    A[i]:=1/(h*h) - p(x[i])/(2*h);
    C[i]:=1/(h*h) + p(x[i])/(2*h);
    B[i]:=-2/(h*h)+q(x[i]);
    F[i]:=f1(x[i]);
    end;
    B[0]:=-h-1; C[0]:=1; F[0]:=0.6*h;
    B[N]:=1+h;
    A[N]:=-1;F[N]:=h*(4*exp(3)+exp(4)); aa[0]:= -C[0]/B[0]; bb[0]:= F[0]/B[0];
    for i:=1 to N do begin
    aa[i]:= -C[i]/(A[i]*aa[i-1] + B[i]); bb[i]:= (F[i] - A[i]*bb[i-1])/(A[i]*aa[i-1] + B[i]);
    end; y[n]:= (F[n] - bb[n-1]*A[n])/(B[n] + aa[n-1]*A[n]);
    for i:=n-1 downto 0 do y[i]:= aa[i]*y[i+1] + bb[i];
    for i:=0 to N do writeln(x[i]:6:2,' ',y[i]:10:6,y_an(x[i]):10:6); xx:=0;
    for i:=1 to N do xx:=xx+abs(y[i]-y_an(x[i])); writeln(xx/N);
    end.

    34
    Метод стрельбы
    const N=20; ax=0; bx=1;
    function y_an(x:real):real; begin y_an:=exp(-x)+exp(3*x)+0.2*exp(4*x); end;
    function f(x,y,z:real):real; begin f:=z; end;
    function g(x,y,z:real):real; begin g:=2*z+3*y+exp(4*x); end;
    var x,y,z:array [0..N] of real; h,xx,xx1,d:real; i:integer;
    function shoot(ksi:real):real;
    var y1,z1:real;i:integer;
    begin
    y[0]:=ksi-0.6;z[0]:=ksi;
    for i:=0 to N-1 do begin
    y1:=y[i]+0.5*h*f(x[i],y[i],z[i]); z1:=z[i]+0.5*h*g(x[i],y[i],z[i]); y[i+1]:=y[i]+h*f(x[i]+0.5*h,y1,z1); z[i+1]:=z[i]+h*g(x[i]+0.5*h,y1,z1);
    end; shoot:=z[n]+y[n]-(4*exp(3)+exp(4))
    end;
    begin
    h:=(bx-ax)/N;
    for i:=0 to N do x[i]:=ax+h*i; xx:=1; d:=1;
    while d>1e-3 do begin
    xx1:=xx-shoot(xx)*1e-4/(shoot(xx+1e-4)-shoot(xx)); d:=abs(xx-xx1); xx:=xx1;
    end; writeln(' x[i] y[i] y_an(x[i])');
    for i:=0 to N do writeln(x[i]:6:2,' ',y[i]:10:6,y_an(x[i]):13:6); xx:=0;
    for i:=1 to N do xx:=xx+abs(y[i]-y_an(x[i])); writeln(xx/N);
    end.
    2. Программы на языке Fortran.
    Метод конечных разностей
    program progonka
    implicit none
    integer, parameter:: N=20
    real,
    parameter:: aa=0
    real, parameter:: bb=1
    real y(N+1), x(N+1), y_an(N+1), alf(N+1), bet(N+1), A(N+1), B(N+1), C(N+1), F(N+1), h
    integer i h=(bb-aa)/N
    C(1)=1
    B(1)=-h-1
    F(1)=0.6*h
    A(N+1)=-1

    35
    B(N+1)=1+h
    F(N+1)=(4*exp(3.0)+exp(4.0))*h alf(1)=-C(1)/B(1) bet(1)=F(1)/B(1)
    do i=1,N+1 x(i)=(i-1)*h
    enddo
    do i=2,N
    A(i)=1/h/h+1/h
    B(i)=-2/h/h-3
    C(i)=1/h/h-1/h
    F(i)=exp(4*x(i)) alf(i)=-C(i)/(A(i)*alf(i-1)+B(i)) bet(i)=(F(i)-A(i)*bet(i-1))/(A(i)*alf(i-1)+B(i))
    enddo
    y(N+1)=(F(N+1)-bet(N)*A(N+1))/(B(N+1)+alf(N)*A(N+1))
    do i=N, 1, -1 y(i)=alf(i)*y(i+1)+bet(i)
    enddo
    do i=1,N+1 y_an(i)=exp(-x(i))+exp(3*x(i))+0.2*exp(4*x(i))
    write(*,*) x(i), y(i), y_an(i)
    enddo
    end
    Метод стрельбы
    program strelba
    implicit none
    real, parameter:: aa=0
    real, parameter:: bb=1
    integer, parameter:: N=20
    real, parameter:: eps=1d-5
    real shoot,ksi, y(N+1), z(N+1), x(N+1), y_an(N+1),ksi_n,h
    integer i h=(bb-aa)/N
    do i=1,N+1 x(i)=(i-1)*h
    enddo
    ksi_n=1 ksi=10
    do while (abs(ksi-ksi_n)>=eps) ksi=ksi_n ksi_n=ksi-shoot(ksi)*eps/(shoot(ksi+eps)-shoot(ksi))
    end do
    y(1)=ksi-0.6 z(1)=ksi
    do i=1,N y(i+1)=y(i)+h*z(i)

    36 z(i+1)=z(i)+h*(2*z(i)+3*y(i)+exp(4*x(i)))
    enddo
    do i=1,N+1 y_an(i)=exp(-x(i))+exp(3*x(i))+0.2*exp(4*x(i))
    write(*,*) x(i), y(i), y_an(i)
    enddo
    write(*,*) 'ksi=',ksi
    end
    real function shoot(ksi)
    integer, parameter:: N=20
    real, parameter:: aa=0
    real, parameter:: bb=1
    real ksi, y(N+1), z(N+1), x(N+1),h
    integer i h=(bb-aa)/N
    do i=1,N+1 x(i)=(i-1)*h
    enddo
    y(1)=ksi-0.6 z(1)=ksi
    do i=1,N y(i+1)=y(i)+h*z(i) z(i+1)=z(i)+h*(2*z(i)+3*y(i)+exp(4*x(i)))
    enddo
    shoot=z(N+1)+y(N+1)-(4*exp(3.0)+exp(4.0))
    end function
    Результаты расчета
    x
    i
    y
    ан
    (x
    i
    )
    y
    i
    (метод прогонки)
    y
    i
    (метод стрельбы)
    0.00 2.20 2.61 2.24 0.05 2.36 2.77 2.40 0.10 2.55 2.97 2.59 0.15 2.79 3.22 2.83 0.20 3.09 3.53 3.13 0.25 3.44 3.90 3.48 0.30 3.86 4.35 3.91 0.35 4.37 4.90 4.42 0.40 4.98 5.54 5.03 0.45 5.70 6.32 5.76 0.50 6.57 7.24 6.62 0.55 7.59 8.33 7.65 0.60 8.80 9.63 8.86 0.65 10.24 11.17 10.31 0.70 11.95 13.00 12.01 0.75 13.98 15.16 14.04 0.80 16.38 17.72 16.44

    37 0.85 19.23 20.76 19.28 0.90 22.61 24.36 22.65 0.95 26.61 28.63 26.64 1.00 31.37 33.70 31.38
    Контрольные вопросы
    1. Разностная схема метода Эйлера, определение погрешности этого метода. Каков порядок точности метода Эйлера.
    2. Алгоритм метода Рунге-Кутта.
    3. Перечислите частные случаи граничных условий.
    4. Итерационная формула метода Ньютона
    5. В чем состоит сущность метода суперпозиции. Реализация этого метода (пошагово).
    6. Суть метода прогонки
    7. Суть метода конечных разностей. Порядок точности этого метода.
    8. Разностная схема метода квазилинеаризации.
    9. Чем объясняется лучшая сходимость метода Ньютона для решения нелинейных краевых задач по сравнению с методом квазилинеаризации.
    Итерационная формула метода Ньютона.
    Индивидуальные задания
    I. Решить краевую задачу двумя методами (метод стрельбы, метод хорд)
     
     
     
    2 2
    0
    d y
    dy
    p x
    q x y
    f x
    dx
    dx




    ,
    0 1
    x


    ,
     
     
    0
    dy
    A
    By x
    C
    dx



    ,
     
     
    1 1
    dy
    D
    Ey
    F
    dx



    p (x)
    q (x)
    f (x)
    A
    B
    C
    D
    E
    F
    1.
    x
    1 1 0 1 2 0 1 2 2.
    2
    x
    2
    x
    1 0 1 1 0 1 3.
     
    sin x
    2
    x
    2
    x
    0 1 2 0 1 2 4.
     
    sh x
    x
    x
    1 0 1 1 0 1 5.
    x
    2
    x
    x
    0 1 2 0 1 2 6.
     
    cos x
    1 2 1 0 1 1 0 1

    38 7.
     
    c h x
    2 1 0 1 2 0 1 2 8.
    x
    2
    x
    1 0 1 1 0 1 9.
     
    sh x
    5 0 0 1 2 0 1 2 10.
    x
    x
    x
    -3 1 0 1 1 0 1 11.
    x
    +1
    x
    -1
    x
    -
    2
    x
    0 1 2 0 1 2 12.
     
    cos x
    +
    2
    x
    2
    x
    x
    1 0 1 1 0 1 13.
     
    sh x
    x
    1 0 1 2 0 1 2 14.
    x
    x
    2 1 0 1 1 0 1 15.
     
    cos x
    2 2
    x
    0 1 2 0 1 2 16.
     
    c h x
    1
    x
    1 0 1 1 0 1 17.
    x
    x
    2
    x
    0 1 2 0 1 2 18.
     
    sh x
    0 1 1 0 1 1 0 1 19.
    x
    x
    -3 2 0 1 2 0 1 2 20.
    2
    x
    x
    -
    2
    x
    2 1 0 1 1 0 1 21.
     
    sin x
    x
    5 1 0 1 1 0 1
    II. Разработать решение задачи
    1. Разработайте решение краевой задачи
    2 2


    x
    d y
    xy e
    dx
    ,
    0 1
     
    x
    ,
     
    0 1

    dy
    dx
    ,
     
    1 2

    y
    методом хорд (линейной интерполяцией).
    2. Разработайте решение краевой задачи методом суперпозиции.
    2 2
    2 1
    1


     
    d y
    dy
    x y
    x
    x dx
    dx
    ,
    0 1
     
    x
    ,
     
    0 0

    dy
    dx
    ,
     
     
    1 2 1 3


    dy
    y
    dx
    3. Запишите разностную схему (с порядком аппроксимации
    2
    ) решения краевой задачи
    2 2
    2 0



    x
    d y
    dy
    e y
    x dx
    dx
    ,
    0 1
     
    x
    ,
     
    0 0

    dy
    dx
    ,
     
    1 4

    y
    4. Запишите разностную схему (с порядком аппроксимации
    2
    ) решения краевой задачи
    2 2
    2 0



    d y
    dy
    x
    x y
    dx
    dx
    ,
    0 1
     
    x
    ,
     
    0 1

    y
    ,
     
    1 0

    dy
    dx

    39 5. Опишите решение задачи о брахистохроне методом Ньютона. (Как можно обойтись без итераций?)
    2 2
    2 2
    1 0


     





    d u
    du
    u
    dx
    dx
    ,
    0
     
    x
    l
    ,
     
    0 0

    du
    dx
    ,
     

    u l
    A
    6. Опишите решение задачи о тепловом взрыве методом Ньютона.
    (Как можно обойтись без итераций?)
    2 2
    1 0




    u
    d u
    du
    e
    x dx
    dx
    ,
    0 1
     
    x
    ,
     
    0 0

    du
    dx
    ,
     
    1 0

    u
    7. Опишите решение задачи о продольном ударе по вязкопластично- му стержню методом Ньютона. (Как можно обойтись без итераций?)
    2 2
    0








    b
    d f
    df
    az
    dz
    dz
    ,
    0
      
    z
    ,
     
    0 0

    f
    ,
     
    1
     
    f
    8. Опишите решение задачи о химическом реакторе
    2 2
    1 0



    n
    d u
    du
    Ru
    p
    dx
    dx
    ,
    0 1
     
    x
    ,
     
    0 0

    du
    dx
    ,
     
     
    1 1
    1 1


    du
    u
    p dx
    ,
    (
    1,
    2,
    5



    p
    n
    R
    ).
    9. Опишите решение задачи для нелинейного уравнения диффузии
    2 2
    2 0
    1




    d u
    du
    au
    x dx
    bu
    dx
    ,
    0 1
     
    x
    ,
     
    0 0

    du
    dx
    ,
     
     


    1 1
    1 0

     
    du
    c u
    dx
    ,
    (
    0,
    0,
    0



    a
    b
    c
    ).
    10. Запишите алгоритм решения краевой задачи о прогибе круговой мембраны
    ,
    0 1
     
    z
    ,
     
    0 0

    f
    ,
     
     
    1 1
    0



    df
    f
    dz
    ,
    (
    0, 5,
    2



    A
    ).
    11. Запишите алгоритм решения краевой задачи об изгибе консоль- ной балки
     
    2 2
    cos
    0


    d f
    a
    f
    dz
    ,
    0 1
     
    z
    ,
     
    0 0

    f
    ,
     
    1 0

    df
    dz
    , (
    3

    a
    ).
    III. Воспользовавшись данными из таблицы решить краевую задачу двумя методами
     
     
     
    2 2
    0,
    0
    d y
    dy
    x
    q x y
    f x
    x
    l
    dx
    dx








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






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






    1

    2
    β
    1
    β
    2
    γ
    1
    γ
    2
    ( )
    p x
    ( )
    q x
    ( )
    f x
    1 1 0 1 0 2 5 2

    x
    x
    sin( ) cos( )

    x
    x
    x
    2

    x
    x
    2 0 1 0 1 3 6 2

    x
    x
    2
    sin ( ) cos( )

    x
    x
    3 2


    x
    x
    x
    3 1 0 1 0 4 7 2

    x x
    2 3
    sin ( ) cos( )

    x
    x
    3 2


    x
    x
    x
    4 0 1 0 1 5 8 2

    x x
    2

    x
    x
    3 2


    x
    x
    x
    5 1 0 1 0 6 9 2
    sin( )

    x
    x
    x
    2

    x
    x
    3 2


    x
    x
    x
    6 0 1 0 1 7 1 2
    sin( )

    x
    x
    x
    2

    x
    x
    3 2


    x
    x
    x
    7 1 0 1 0 8 2 sin( ) cos( )

    x
    x
    x
    2

    x x


    3 2
    sin( )

    x
    x
    x
    8 0 1 0 1 9 3 sin( ) cos( )

    x
    x
    2
    sin( )

    x
    x
    x


    3 2
    cos( )

    x
    x
    x
    9 1 0 1 0 1 4 2
    sin( ) cos( )

    x
    x
    x
    2
    sin( )

    x
    x
    x
    3 3
    2


    x
    x
    x
    10 0 1 0 1 2 5 sin( ) cos( )

    x
    x
    x
    sin( ) cos( )

    x
    x
    x
    2

    x
    x
    11 1 0 1 0 3 6 2
    sin ( ) cos( )

    x
    x
    2

    x
    x
    3 2


    x
    x
    x
    12 0 1 0 1 4 7 2
    3
    sin ( ) cos( )

    x
    x
    2

    x
    x
    3 2


    x
    x
    x
    13 1 0 1 0 5 8 2

    x
    x
    2

    x
    x
    3 2


    x
    x
    x
    14 0 1 0 1 6 9 2

    x
    x
    2

    x x
    3 2


    x
    x
    x
    15 1 0 1 0 7 1 2

    x
    x
    2
    sin( )

    x
    x
    x
    3 2


    x
    x
    x
    16 0 1 0 1 8 2 2

    x x
    2
    sin( )

    x
    x
    x


    3 2
    sin( )

    x
    x
    x
    17 1 0 1 0 9 3 2
    sin( )

    x
    x
    x
    sin( ) cos( )

    x
    x
    x


    3 2
    cos( )

    x
    x
    x
    18 0 1 0 1 1 4 2
    sin( )

    x
    x
    x
    sin( ) cos( )

    x
    x
    3 3
    2


    x
    x
    x
    19 1 0 1 0 2 5 sin( ) cos( )

    x
    x
    x
    2
    sin( ) cos( )

    x
    x
    x
    3 2


    x
    x
    x
    20 0 1 0 1 3 6 sin( ) cos( )

    x
    x
    sin( ) cos( )

    x
    x
    x
    3 2


    x
    x
    x
    21 1 0 1 0 4 7 2
    sin( ) cos( )

    x
    x
    x
    2
    sin ( ) cos( )

    x
    x
    3 2


    x
    x
    x

    41
    Основная литература
    1 Понтрягин Л.С.
    Обыкновенные дифференциальные уравнения
    М.
    Наука, 1974. 331 с.
    2 На Ц. Вычислительные методы решения прикладных задач. М. Мир, 1982.
    296 с.
    3
    Пасконов В.М., Полежаев В.И., Чудов Л.А. Численное моделирова- ние процессов тепло- массообмена. - М.: Наука. 1984. - 288 с.
    4
    Исаченко В.П., Осипова В.А., Сукомел А.С. Теплопередача. М.:
    Энергия. 1975. 488 с.
    5
    Самарский А.А. Введение в теорию разностных схем. – М.: Наука,
    1971. – 552 с.
    Дополнительная литература
    1
    Марчук Г.И. Методы вычислительной математики. – М.: Наука,
    1989. – 536 с.
    2
    Боглаев Ю.П. Вычислительная математика и программирование. –
    М.: Высшая школа, 1990. – 534 с.
    3
    Арушанян О.Б., Залеткин С.Ф. Численное решение обыкновенных дифференциальных уравнений на Фортране. М.: Изд-во МГУ, 1990. –
    336 с.
    4
    Арушунян О.Б., Залеткин С.Ф. Численное решение ОДУ на Фор- тране. Изд-во МГУ. 1990.
    5
    Хайрер Э., Нерсетт С., Ваннер Г. Решение ОДУ. Нежесткие задачи.
    Изд-во Мир. 1990.

    Учебное издание
    Алексей Юрьевич Крайнов
    Ксения Михайловна Моисеева
    ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ КРАЕВЫХ ЗАДАЧ ДЛЯ
    ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
    Учебное пособие
    Опубликовано в авторской редакции
    Издательство "STT"
    Россия, 634028, г. Томск, проспект Ленина, 15
    Б
    –1
    Тел.: (3822) 421-455
    E-mail: stt@sttonline.com
    Усл. печ. л. 2,31. Уч.-изд. л. 1,08.
    Бумага для офисной техники. Гарнитура Times.
    Подписано к печати 30.05.2016 г. Формат 60х84/
    16
    Тираж 100 экз. Заказ № 560.
    1   2   3   4


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