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

  • 2.1.3. Использование Mathcadа для решения задачи об остывании чашки кофе

  • 2.2. Математическое моделирование в экологии 2.2.1. Моделирование нелинейных процессов в экологии

  • 2.2.2. Борьба популяций в теоретической экологии

  • Введение в компьютерное моделирование. Л. В. Горчаков в в в в е е д д е е н н и и е е в в к к о о м м п п ь ь ю ю т т е е р р н н о о е е м м о о д д е е л л и и р р о о в в а а н н и и е е учебное пособие


    Скачать 1.03 Mb.
    НазваниеЛ. В. Горчаков в в в в е е д д е е н н и и е е в в к к о о м м п п ь ь ю ю т т е е р р н н о о е е м м о о д д е е л л и и р р о о в в а а н н и и е е учебное пособие
    Дата13.04.2023
    Размер1.03 Mb.
    Формат файлаpdf
    Имя файлаВведение в компьютерное моделирование.pdf
    ТипУчебное пособие
    #1059250
    страница2 из 9
    1   2   3   4   5   6   7   8   9
    Задачи для самостоятельного исследования
    1. Пусть начальная разность температур
    0 61
    s
    T
    T
     
    . Сколько времени нужно, чтобы разность стала равной
    61 2, 61 4, 61 8
    ?
    2. Аналитическое решение уравнения (1) имеет вид
     


     
    0
    exp
    s
    s
    T t
    T
    T
    T
    rt
     


    , где




    0 0
    0
    s
    s
    T t
    T
    T
    T
    T

     


    , а


    s
    T t
    T
      
    Вычислите Т в момент
    1
    t

    с шагом
    0, 05; 0, 025; 0, 014; 0, 005
    t
     
    Выберите реальное r.
    Постройте таблицу, содержащую разность между точными и численными решениями уравнения как функцию от

    t. Будет ли эта разность убывающей функцией от

    t? Если шаг уменьшить в два раза, как изменится разность? Нарисуйте график разности как функцию от

    t. Если точки приблизительно расположены на убы- вающей прямой, разность пропорциональна

    t (при
    1
    t

    ). Если она пропорциональна
     
    n
    t

    , то численный метод называется ме- тодом n-го порядка. Какой порядок точности у метода Эйлера?
    3. Какой нужно выбрать шаг

    t, чтобы достигнуть точности
    0,1% в момент t = 1? Какой должен быть

    t, чтобы точность 0,1% была в точке t = 5?
    4. Уравнение
    RdQ dt
    V
    Q C
     
    описывает заряд конденса- тора в RC цепи с напряжением V, t меряется в сек, R = 2000 Ом,
    C = 10
    –6
    Ф и V = 10 В. Начальное условие Q = 0 при t = 0. Будет ли расти Q (t) со временем, увеличивается ли Q до

    или будет насы- щение? Напишите программу численного решения методом Эйле- ра. Какой надо взять шаг

    t, чтобы получить три правильных знака в момент t = 0,005 с. Каковы особенности численного решения при

    t = 0,005, 0,004 и 0,003? Приводит ли малое изменение шага

    t к большому изменению Q? Устойчив ли метод для любого шага?
    5. Найдите время, необходимое для того, чтобы разность тем- ператур между T кофе и T комнаты составила
    1 e

    0,37 от началь- ной разности. Это время остывания называется временем релакса-

    14 ции. Возьмите разные r и определите качественную зависимость времени релаксации от r.
    2.1.3. Использование Mathcadа для решения задачи
    об остывании чашки кофе
    Оболочка Mathcad [4] позволяет легко решать численно диффе- ренциальные уравнения различного вида. При решении дифферен- циального уравнения искомой величиной является функция. Для обыкновенного дифференциального уравнения неизвестная функ- ция является функцией одной переменной. Mathcad имеет ряд встроенных функций, предназначенных для численного решения
    ОДУ. В результате решения получается матрица, содержащая зна- чение функции, вычисленное на некотором множестве точек. Для поиска решения необходимо задать следующие величины:
    1) начальные условия;
    2) набор точек, в которых нужно найти решение;
    3) само дифференциальное уравнение, записанное в определен- ном виде.
    Для поиска решения можно использовать встроенную функцию
    rkfixed, которая имеет следующие аргументы:
    1 2
    ( , ,
    , npoints,
    )
    rkfixed y x x
    D
    , где y – вектор начальных условий размерности n, где n – порядок дифференциального уравнения или число уравнений в системе.
    Для первого порядка вектор начальных условий вырождается в одну точку
     
    0 1
    y
    y x

    1 2
    ,
    x x
    – граничные точки интервала, на котором ищется реше- ние дифференциального уравнения. Начальные условия, заданные в векторе y, – это значение решения в точке
    1
    x
    , npoints – число то- чек (не считая начальной точки), в которых ищется приближенное решение. При помощи этого аргумента определяется число строк
    (1+ npoints) в матрице, возвращаемой функцией rkfixed. D(x, y) – функция, возвращающая значение в виде вектора из n элементов, содержащих первые производные неизвестных функций. Для полу- чения функции D (x, y) нужно разрешить уравнение относительно первой производной y

    (x).

    15
    В результате решения получается матрица, имеющая два следу- ющих столбца:
    – первый столбец содержит точки, в которых ищется решение дифференциального уравнения;
    – второй столбец содержит значения найденного решения в со- ответствующих точках.
    Для визуализации решения строят по этим точкам график.
    Запишем уравнение (1) в виде


    y
    r y q
      

    и на рабочем поле Mathcad набираем следующие данные
    0
    : 83 : 0,1 : 22
    y
    r
    q



     


    0
    ,
    :
    D x y
    r
    y
    q
      



    :
    , 0, 2, 200,
    Z
    rkfixed y
    D

     
    : 0..
    1
    i
    rows Z


    Напомним, что знак (:=) набирается как (:), знак (..) набирается как (;), нижний индекс в
    0
    y
    набирается с помощью символа ([ ).
    Смысл выражений понятен из верхнего описания. Mathcad строит одну точку графика для каждого значения дискретного аргумента i, задающего график. При определении интервала изменения дис- кретного параметра i используется встроенная функция rows, кото- рая определяет количество строк в матрице Z.
    Для построения графика щелкаем мышью на том месте, где его нужно разместить, и выбираем пункт ”Декартов график” из меню
    “Графика”. В появляющемся пустом графике в средние поля вво- дим величины, которые нужно отобразить на графике. По оси абс- цисс – i-тую компоненту вектора
     
    0
    i
    Z
    , а по оси ординат – i-тую компоненту вектора
     
    1
    i
    Z
    . Для ввода верхнего индекса использу- ем комбинацию клавиш . Щелчок мышью вне графика приводит к его построению.

    16
    Рис. 2. Решение c помощью Mathcad задачи о лисах и зайцах
    Для рисования нескольких кривых (функций) на одном графике необходимо задать несколько выражений на оси ординат (возмож- но абсцисс). Чтобы представить графически несколько выражений на оси ординат относительно одного выражения по оси абсцисс, введите первое выражение, сопровождаемое запятой. Непосред- ственно под первым выражением появится пустое место для ввода второго выражения. Можно строить несколько графиков с парны- ми значениями функций и аргументов.
    Для изменения размеров графика щелкните мышью снаружи графической области. Это закрепляет один из углов выделяющего прямоугольника. Вытяните из него прямоугольник и охватите гра- фик, затем отпустите кнопку. Цепляя за границы графика, его мож- но растянуть в нужном направлении. Отпустив кнопку, щелкните вне графика, чтобы отменить выделение.
    Для изменения масштаба на графике поместите курсор в область графика, нажмите мышь, чтобы заключить график в выделяющий прямоугольник. Меню «Х–У–График» заменяет меню «Графика».
    Выберите режим «Лупа» из меню – появится диалоговое окно
    «Х–У–Лупа». На чертеже нажмите мышь в одном углу области, которую нужно увеличить. Удерживая кнопку, перемещаем мышь,

    17 растягивая выделяющий прямоугольник. Когда вся область, кото- рую нужно увеличить, попадет в прямоугольник, отпустите кноп- ку. Координаты выбранной области отображаются в полях Мин и
    Мах диалогового окна. Нажмите кнопку «Увеличить», чтобы пере- рисовать график. Чтобы сделать границы постоянными, нажмите кнопку «Принять».
    Чтобы увидеть и определить координаты некоторой точки гра- фика, щелкните мышью на графике, чтобы выделить его. Выберите режим «Графики» из меню «Х–У–График», чтобы появилось окно
    «Графики». Внутри чертежа нажмите кнопку мыши и переместите указатель на искомую точку. В окошках «Х-значение» и
    «У-значение» отображаются значения координат этой точки. Что- бы скопировать координаты в буфер обмена, нажмите на «Копиро- вать Х» или «Копировать У». Затем можно вставлять эти значения в математическую область. Закройте окно, щелкая по кнопке си- стемного меню. Перекрестие остается на графике до тех пор, пока вы не щелкните где-либо вне графика.
    2.2. Математическое моделирование в экологии
    2.2.1. Моделирование нелинейных процессов в экологии
    Большинство явлений природы по сути своей нелинейны [1].
    Примеры нелинейных процессов – модели погоды, турбулентный режим движения жидкости. Основные понятия таких процессов легко объяснить на задаче теоретической экологии. Многие биоло- гические популяции состоят из одного поколения, которое не пере- крывается ни с предыдущим, ни с последующим. Например, энце- фалитный клещ откладывает личинки весной, а на следующую весну выводятся новые клещи. Так как процесс развития дискре- тен, то более уместно описывать его конечно-разностным уравне- нием. Простая модель развития популяции, не зависящая от плот- ности и связывающая численность популяции в


    1
    n

    – поколении с предыдущим n-поколением, записывается в виде
    1
    P
    P
    n
    n
    a


    , где
    а – константа. При
    1
    a

    получается геометрический рост популя- ции, что нереально. В более реалистической модели численность популяции ограничивается окружающей средой. Простая дискрет-

    18 ная модель прироста популяции, зависящая от плотности, записы- вается в виде


    1
    P
    P
    n
    n
    n
    a bP



    . Второй член представляет уменьшение естественного прироста за счет перенаселения или распространения болезней. Положим
     
    n
    n
    P
    a b x

    и получим уравнение


    1 1
    n
    n
    n
    y
    ax
    x



    . Введем параметр роста
    4
    r
    a

    и получим уравнение вида
     
    1
    n
    n
    x
    f x


    , где
     


    4 1
    f x
    rx
    x


    . Ес- ли
    1
    n
    x

    , то значение
    1
    n
    x

    будет < 0. Чтобы избежать этой нере- альной ситуации, наложим условия ограничения изменения пере- менной x и параметра r отрезками
    0 1
    x
     
    и
    0 1
    r
     
    Постройте решение уравнения для начальных условий
    0 0, 75
    x

    и значений
    0,1;0,8;0,9
    r

    в зависимости от n с помо- щью программы и с помощью Mathcad.
    2.2.2. Борьба популяций в теоретической экологии
    Рассмотрим взаимодействие двух видов животных, один из ко- торых служит пищей для другого [5]. Пусть животные первого ви- да кролики, второго – лисы. Аналогичной задачей является распро- странение эпидемий с помощью бактерий, здесь можно рассматри- вать население как животные первого вида, а бактерии второго вида.
    Рассмотрим животных первого вида. Если нет лис, то популяция кроликов будет увеличиваться (другие факторы, влияющие на рост этих видов животных, остаются неизменными, как переменная ве- личина учитывается только число животных). Простейшим пред- положением является, что скорость роста популяции кроликов пропорциональна размеру популяции. Пусть х – число кроликов, у
    – число лис в момент времени t. Тогда, если
    0
    y

    , то
    ,
    0
    dx dt
    ax a


    (5)
    С другой стороны, не имея пищи, лисы будут вымирать, так что получаем, если
    0
    x

    , то
    ,
    0
    dy dt
    py p
     

    (6)
    Если же имеются и кролики и лисы, то необходимо принять во внимание их взаимодействие. Предположим, что число съеденных кроликов пропорционально величине xy. Тогда необходимо доба-

    19 вить в (6) член, пропорциональный ху, чтобы позволить увеличение числа лис при наличии пищи и вычесть такой же член из (5), чтобы учесть съедаемых кроликов
    ,
    ,
    0
    dx dt
    ax bxy
    a b



    ,
    ,
    0
    dy dt
    cxy
    py
    c p



    (7)
    Мы получили динамическую модель взаимодействия двух видов животных, она описывается системой дифференциальных уравне- ний первого порядка.
    Для решения такой системы могут применяться различные ме- тоды. Общий вид полученной системы уравнений можно записать так
     
    ,
    dx dt
    F x y

     
    ,
    dy dt
    G x y

    (8)
    Подсчитаем количество животных каждого вида в данный мо- мент времени, который можно принять за
    0
    t

    , и получим
    0 0
    x
    x


    кроликов и
    0 0
    y
    y


    лис. Нашей главной задачей яв- ляется определение численности обеих популяций в будущем. При делении уравнений друг на друга время исключается и получаем уравнение вида
       
    ,
    ,
    dy dx
    G x y
    F x y

    (9)
    Для таких систем уравнений доказаны две теоремы.
    Теорема 1. Если в окрестности точки плоскости


    0 0
    ,
    x y
    част- ные производные функций F и G непрерывны, то существует един- ственное решение, проходящее через


    0 0
    ,
    x y
    при
    0
    t

    . Решения либо не зависят от времени, либо описываются гладкой кривой.
    Кроме того, решение
     
    x t
    и
     
    y t
    непрерывно зависят от началь- ного положения. Существуют три типа решений: устойчивые, не- устойчивые и циклические.
    Теорема 2. Поведение траектории вблизи точки равновесия можно определить, рассматривая только линейные члены разложе- ния функций F и G в ряды Тейлора в точке равновесия (которая случается при
    0
    F
    G
     
    ). Решения получаемых линейных урав-

    20 нений в окрестности точки равновесия имеют то же поведение, что и точные решения.
    Все сказанное справедливо и для n уравнений с n неизвестными.


    1 2
    ,
    ,...,
    ,
    1..
    i
    i
    n
    dx dt
    F x x
    x
    i
    n


    (10)
    Интересной точкой равновесия является точка


    ,
    E
    p c a b

    . Ис- следуем поведение вблизи E. Положим
    u
    x
    p c
     
    и v
    y a b
     
    Тогда




    v v
    v
    du dt
    dx dt
    u
    p c b
    d
    dt
    dy dt
    cu
    a b

      



    и
    Линейные части этих уравнений есть




    v, v
    du dt
    bp c
    d dt
    ac b u


    (11)
    Рассмотрим эти уравнения как точные (согласно теореме 2). Диф- ференцируем первое уравнение и, подставляя v
    d dt
    из второго, получим
    2 2
    d u dt
    apu
     
    (12)
    Следовательно, движение будет периодическим. Поскольку значе- ние начального момента неважно, начнем с момента, когда
    0
    u

    Решение (12) тогда есть
     
    sin
    u
    A
    apt

    и из (7) получим
     
    v cos
    B
    apt

    . Следовательно,
    2 2
    2 2
    v
    1
    u
    A
    B


    , т.е. траекто- рия есть эллипс (рис. 3).
    Таким образом, вблизи точки равновесия Е траектории суть пе- риодические движения вокруг точки равновесия. В первом при- ближении эти траектории являются эллипсами с периодом обраще- ния
    2
    ap

    Для нахождения точных траекторий образуем уравнение со- гласно (9)

     

    dy dx
    y cx
    p
    x a by



    (13)
    Отсюда




    0
    a by
    y dy dx
    p cx
    x





    21
    Рис. 3. Траектории
    p
    a
    cx bx
    x y
    e e
    k

    при
    4,
    2,
    1,
    3
    a
    b
    c
    p




    Интегрируя по х, получаем lg lg lg
    a
    y by
    p
    x cx
    k




    или
    p
    cx
    a
    by
    x
    e y
    e
    k

    (14)
    Так как k не зависит от времени, то
    0 0
    0 0
    p
    a
    cx
    by
    k
    x y
    e e

    Следовательно, мы нашли уравнения для траектории, соответ- ствующей данному начальному положению. Функция
    p
    cx
    x
    e
    и
    a
    by
    y
    e
    могут быть выражены графически (рис. 4).
    Рис. 4.
     
    p
    cx
    f x
    x
    e

    при c = 1, p = 3

    22
    Всякое значение за исключением экстремального она принимает
    2 раза. Следовательно, если в (14) зафиксировать х, то ему соответ- ствуют два значения у и наоборот. Максимальное и минимальное значение принимаются переменной у при
    x
    p c

    и переменной x при
    y
    a b

    . Причем не существует точки перегиба. Из выражения
    (7) следует, что
    0
    dx dt

    , если и только если
    y
    a b

    . Следова- тельно, в нижней части траектории x увеличивается, а на верхней части уменьшается, таким образом, движение идет против часовой стрелки. Вычислим средние значения х и у.
    Поскольку движение циклическое, можно взять среднее по од- ному циклу.
    Пусть T – длина цикла. Из (7) имеем
    1 x dx dt
    a by

     


    0 0
    1
    T
    T
    x dx dt
    a by dt





    ;
     


     




    0
    lg lg
    0
    T
    x T
    x
    aT
    b
    ydt
    T a by






    (15)
    Но (0, T) есть полный цикл, следовательно,
    y
    a b

    . Аналогично
    x
    p c

    . Эти средние не зависят от начального положения и сов- падают с координатами точки равновесия E.
    Для явного получения траектории движения используем
    Mathcad для того, чтобы прямо решить систему уравнений (7) при следующих начальных условиях
    4,
    2,
    1,
    3
    a
    b
    c
    p




    1   2   3   4   5   6   7   8   9


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