RSS    

   Расчет дифференциального уравнения первого, второго и третьего порядка методом Эйлера - (курсовая)

Расчет дифференциального уравнения первого, второго и третьего порядка методом Эйлера - (курсовая)

Дата добавления: март 2006г.

    Міністерство освіти України
    ДАЛПУ
    Кафедра автоматизації
    технологічних процесів і приладобудування
    КУРСОВА РОБОТА
    з курсу “Математичне моделювання на ЕОМ”
    на тему “Розв’язок диференціального рівняння
    виду апу(п)+ап-1у(п-1)+…+а1у1+а0у=кх при заданих
    початкових умовах з автоматичним вибором кроку
    методом Ейлера”
    Виконала студентка групи БА-4-97
    Богданова Ольга Олександрівна
    Холоденко Вероніка Миколаївна
    Перевірила Заргун Валентина Василівна
    1998
    Блок-схема алгоритма
    Блок-схема алгоритма
    начало
    у/=f(x, y)
    y(x0)=y0
    x0, x0+a
    h, h/2
    k: =0
    xk+1/2: =xk+h/2
    yk+1/2: =yk+f(xk, yk)h/2
    бk: = f(xk+1/2, yk+1/2)
    xk+1: =xk+h
    yk+1: =yk+бkh
    нет k: =n
    да
    x0, y0,
    x1, y1…
    xn, yn
    конец
    ПОСТАНОВКА ЗАДАЧИ И МЕТОД РЕШЕНИЯ

Решить дифференциальное уравнение у/=f(x, y) численным методом - это значит для заданной последовательности аргументов х0, х1…, хn и числа у0, не определяя функцию у=F(x), найти такие значения у1, у2, …, уn, что уi=F(xi)(i=1, 2, …, n) и F(x0)=y0. Таким образом, численные методы позволяют вместо нахождения функции У=F(x) получить таблицу значений этой функции для заданной последовательности аргументов. Величина h=xk-xk-1 называется шагом интегрирования. Метод Эйлера относиться к численным методам, дающим решение в виде таблицы приближенных значений искомой функции у(х). Он является сравнительно грубым и применяется в основном для ориентировочных расчетов. Однако идеи, положенные в основу метода Эйлера, являются исходными для ряда других методов.

    Рассмотрим дифференциальное уравнение первого порядка
    y/=f(x, y) (1)
    с начальным условием
    x=x0, y(x0)=y0 (2)
    Требуется найти решение уравнения (1) на отрезке [а, b].

Разобьем отрезок [a, b] на n равных частей и получим последовательность х0, х1, х2, …, хn, где xi=x0+ih (i=0, 1, …, n), а h=(b-a)/n-шаг интегрирования. В методе Эйлера приближенные значения у(хi)»yi вычисляются последовательно по формулам уi+hf(xi, yi) (i=0, 1, 2…). При этом искомая интегральная кривая у=у(х), проходящая через точку М0(х0, у0), заменяется ломаной М0М1М2… с вершинами Мi(xi, yi) (i=0, 1, 2, …); каждое звено МiMi+1 этой ломаной, называемой ломаной Эйлера, имеет направление, совпадающее с направлением той интегральной кривой уравнения (1), которая проходит через точку Мi.

Если правая часть уравнения (1) в некотором прямоугольнике Rx-x0удовлетворяет условиям:

    |f(x, y1)- f(x, y2)| Ј N|y1-y2| (N=const),
    |df/dx|=|df/dx+f(df/dy)| Ј M (M=const),
    то имеет место следующая оценка погрешности:
    |y(xn)-yn| Ј hM/2N[(1+hN)n-1], (3)

где у(хn)-значение точного решения уравнения(1) при х=хn, а уn- приближенное значение, полученное на n-ом шаге. Формула (3) имеет в основном теоретическое применение. На практике иногда оказывается более удобнымдвойной просчет: сначала расчет ведется с шагом h, затем шаг дробят и повторный расчет ведется с шагом h/2. Погрешность более точного значения уn* оценивается формулой |yn-y(xn)|»|yn*-yn|.

Метод Эйлера легко распространяется на системы дифференциальных уравнений и на дифференциальные уравнения высших порядков. Последние должны быть предварительно приведены к системе дифференциальных уравнений первого порядка. Модифицированный метод Эйлера более точен.

    Рассмотрим дифференциальное уравнение (1) y/=f(x, y)

с начальным условием y(x0)=y0. Разобьем наш участок интегрирования на n равных частей. На малом участке [x0, x0+h]

у интегральную кривую заменим прямой Nk/ y=y(x) линией. Получаем точку Мк(хк, ук).

    Мк Мк/
    yk+1
    yk
    хк хк1/2 xk+h=xk1 х
    Через Мк проводим касательную: у=ук=f(xk, yk)(x-xk).
    Делим отрезок (хк, хк1) пополам:
    xNk/=xk+h/2=xk+1/2
    yNk/=yk+f(xk, yk)h/2=yk+yk+1/2

Получаем точку Nk/. В этой точке строим следующую касательную: y(xk+1/2)=f(xk+1/2, yk+1/2)=бk

Из точки Мк проводим прямую с угловым коэффициентом бк и определяем точку пересечения этой прямой с прямой Хк1. Получаем точку Мк/. В качестве ук+1 принимаем ординату точки Мк/. Тогда: ук+1=ук+бкh

    xk+1=xk+h
    (4) бk=f(xk+h/2, yk+f(xk, Yk)h/2)
    yk=yk-1+f(xk-1, yk-1)h
    (4)-рекурентные формулы метода Эйлера.

Сначала вычисляют вспомогательные значения искомой функции ук+1/2 в точках хк+1/2, затем находят значение правой части уравнения (1) в средней точке y/k+1/2=f(xk+1/2, yk+1/2) и определяют ук+1. Для оценки погрешности в точке хк проводят вычисления ук с шагом h, затем с шагом 2h и берут 1/3 разницы этих значений: | ук*-у(хк)|=1/3(yk*-yk),

    где у(х)-точное решение дифференциального уравнения.

Таким образом, методом Эйлера можно решать уравнения любых порядков. Например, чтобы решить уравнение второго порядка y//=f(y/, y, x) c начальными условиями y/(x0)=y/0, y(x0)=y0, выполняется замена: y/=z

    z/=f(x, y, z)

Тем самым преобразуются начальные условия: y(x0)=y0, z(x0)=z0, z0=y/0.

    РЕШЕНИЕ КОНТРОЛЬНОГО ПРИМЕРА

Приведем расчет дифференциального уравнения первого, второго и третьего порядка методом Эйлера

    1. Пусть дано дифференциальное уравнение первого порядка:
    y/=2x-y

Требуется найти решение на отрезке [0, 1] c шагом h=(1-0)/5=0, 2 Начальные условия: у0=1;

    Пользуясь рекурентными формулами (4), находим:

1). x1=0, 2; х1/2=0, 1; y(x1)=y(x0)+б0h; y(x1/2)=y(x0)+f(x0, y0)h/2; f(x0, y0)=2*0-1=-1

    y(x1/2)=1-1*0, 1=0, 9
    б0=2*0, 1-0, 9=-0, 7
    y1=1-0, 1*0, 2=0, 86

2). y(x2)=y(x1)+б1h; x2=0, 2+0, 2=0, 4; x1+1/2=x1+h/2=0, 2+0, 1=0, 3 y(x1+1/2)=y(x1)+f(x1, y(x1))h/2

    f(x1, y1)=2*0, 2-0, 86=-0, 46
    y(x1+1/2)=0, 86-0, 46*0, 1=0, 814
    б1=2*0, 3-0, 814=-0, 214
    y2=0, 86-0, 214*0, 2=0, 8172
    3). x3=0, 4+0, 2=0, 6; x2+1/2=x2+h/2=0, 4+0, 1=0, 5
    f(x2, y2)=2*0, 4-0, 8172=-0, 0172
    y2+1/2=0, 8172-0, 0172*0, 1=0, 81548
    б2=2*0, 5-0, 81548=0, 18452
    y3=0, 8172+0, 18452*0, 2=0, 854104
    4). x4=0, 8; x3+1/2=x3+h/2=0, 6+0, 1=0, 7
    f(x3, y3)=2*0, 6-0, 854104=0, 345896
    y3+1/2=0, 854104+0, 345896*0, 1=0, 8886936
    б3=2*0, 7-0, 89=0, 5113064
    y4=0, 854104+0, 5113064*0, 2=0, 95636528
    5). x5=1; x4+1/2=0, 8+0, 1=0, 9
    f(x4, y4)=2*0, 8-0, 956=0, 64363472
    y4+1/2=0, 956+0, 643*0, 1=1, 020728752;
    б4=2*0, 9-1, 02=0, 779271248
    y5=0, 956+0, 7792*0, 2=1, 11221953
    2. Дано уравнение второго порядка:
    y//=2x-y+y/
    Находим решение на том же отрезке [0, 1] c шагом h=0, 2;
    Замена: y/=z
    z/=2x-y+z
    Начальные условия: у0=1
    z0=1
    1). x1=0, 2; x1/2=0, 1

y(z1)=y(z0)+б0h z(x1, y1)=z(x0, y0)+в0h y(z1/2)=y(z0)+f(z0, y0)h/2 z(x1/2, y1/2)=z(x0, y0)+f(x0, y0, z0)h/2 f(z0, y0)=f10=1 f(x0, y0, z0)=f20=2*0-1+1=0 y1/2=1+1*0, 1=1, 1 z1/2=1+0*0, 1=1 б0=z0=1 в0=2*0, 1-1, 1+1=0, 1 y1=1+0, 2*1=1, 2 z1=1+0, 2*0, 1=1, 02

    2). x2+0, 4; x1+1/2=0, 3

f11=z1=1, 02 f21=2*0, 2-1, 2+1, 02=0, 22 y1+1/2=1, 2+1, 02*0, 1=1, 1 z1+1/2=1, 02+0, 22*0, 1=1, 042 б1=z1+1/2=1, 042 в1=2*0, 3-1, 302+1, 042=0, 34 y2=1, 2+1, 042*0, 2=1, 4084 z2=1. 02+0, 34*0, 2=1, 088

    3). x3=0, 6; x2+1/2=0, 5

f12=z2=1, 088 f22=2*0, 4-1, 4084+1, 088=0, 4796 y2+1/2=1, 4084+1, 088*0, 1=1, 5172 z2+1/2=1, 088+0, 4796*0, 1=1, 13596 б2=z2+1/2=1, 13596 в2=2*0, 5-1, 5172+1, 13596=0, 61876 y3=1, 4084+1, 136*0, 2=1, 635592 z3=1, 088+0, 61876*0, 2=1, 211752

    4). x4=0, 8; x3+1/2=0, 7

f13=z3=1, 211752 f23=2*0, 6-1, 636+1, 212=0, 77616 y3+1/2=1, 636+1, 212*0, 1=1, 7567672 z3+1/2=1, 212+0, 776*0, 1=1, 289368 б3=z3+1/2=1, 289368 в3=2*0, 7-1, 7568+1, 289=0, 9326008 y4=1, 6+1, 289*0, 2=1, 8934656 z4=1, 212+0, 93*0, 2=1, 39827216 5). x5=1; y4+1/2=0, 9

Страницы: 1, 2


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.