1. Постановка задачи
Дано: линейное дифференциальное уравнение второго порядка и граничные условия:
y'+ln(2)*y?+2x=1(1)
y(-2) = 4y(-1) = 2
В практике строительных расчетов многие математические модели, используемые для расчета различных инженерных конструкций, приводятся к линейным дифференциальным уравнениям второго порядка, имеющим следующий вид:
где x - параметр, определяющий некоторую координату исследуемого объекта, p(x), q(x), f(x) - заданные функции. К примерам задач, приводящих к уравнениям вида (1), можноотнести задачи расчетов различных балочных конструкций.Для решения задачи, определяемой (1), необходимо задатьдополнительные условия, определяющие состояние исследуемого объекта при некоторых заданных значениях координатной переменной x. Условия, определяющие состояние объекта в заданных точках x, называются граничными.
В своей работе я решаю это уравнение с помощью метода конечных разностей, называемый также методом сеток. Его суть заключается в замене дифференциальных коэффициентов уравнения на разностные коэффициенты, что позволяет свести решение дифференциального уравнения к решению его разностного аналога, то есть построить его конечно-разностную схему.
Решение задачи делится на 4 этапа:
1) Дискретизация области изменения переменной. Интервал, ограниченный конечными условиями разбивается на n отрезков с шагом h=, весь процесс называется формированием сетки с (n+1) равноудаленными узлами.
2) Производные заменяются (аппроксимируются) конечно-разностными соотношениями, в результате чего для сеточной функции, определенной в узлах сетки, получается система линейных уравнений, для замыкания которой используются граничные условия.
3) Для решения системы используем метод прогонки, являющийся адаптацией метода Гаусса к этому случаю. Прогоночные коэффициенты вычисляются по формулам (прямая прогонка):
4) После прямой прогонки обратной находятся значения сеточной функции:
Получили дискретное значение искомой функции.
Метод прогонки чаще используется для решения разностных систем уравнений, к которым сводится решение дифференциального уравнения при использовании МКР. Этот метод легко реализуется на ПК.
Для проверки правильности полученных решений выполняется подстановка полученных решений в исходное уравнение системы.
при i = 0,
при i =n,
при i = 1,…,(n-1),
2. Ручной расчет
Выполню решение данного уравнения вручную с помощью приведенных в первой главе методов и формул.
y'+ln(2)*y?+2x=1y(-2) = 4y(-1) = 2
Для упрощения ручного расчета разобью заданный мне интервал [-2;-1] на 5 участков.
Построим сетку с равномерным шагом h==0,2
Построим сетку с равномерным шагом h==0,2
Для систематизации вычислений составим таблицу:
Таблица
i |
x |
p |
q |
f |
A |
B |
C |
F |
|
0 |
-2 |
0.693147 |
0.25 |
1 |
0 |
0 |
-1 |
4 |
|
1 |
-1.8 |
0.693147 |
0.287175 |
1 |
0.9306853 |
1.0693147 |
1.988513 |
0.04 |
|
2 |
-1.6 |
0.693147 |
0.329877 |
1 |
0.9306853 |
1.0693147 |
1.98680492 |
0.04 |
|
3 |
-1.4 |
0.693147 |
0.378929 |
1 |
0.9306853 |
1.0693147 |
1.9848284 |
0.04 |
|
4 |
-1.2 |
0.693147 |
0.435275 |
1 |
0.9306853 |
1.0693147 |
1.982589 |
0.04 |
|
5 |
-1 |
0.693147 |
0.5 |
1 |
0 |
0 |
-1 |
2 |
Из полученных коэффициентов составляем трехдиагональную матрицу, находим прогоночные коэффициенты и решение уравнения.
Cоставим продолжение таблицы.
i |
A |
C |
B |
Fi |
б |
в |
Y |
Проверка |
|
0 |
0 |
-1 |
0 |
4 |
0 |
4 |
4 |
4 |
|
1 |
0.9306853 |
1.988513 |
1.0693147 |
0.04 |
0.5377 |
1.852008 |
3.481997 |
0.04 |
|
2 |
0.9306853 |
1.98680492 |
1.0693147 |
0.04 |
0.7194 |
1.132745 |
3.031151 |
0.04 |
|
3 |
0.9306853 |
1.98484284 |
1.0693147 |
0.04 |
0.81298 |
0.771114 |
2.638758 |
0.04 |
|
4 |
0.9306853 |
1.982589 |
1.0693147 |
0.04 |
0.8722 |
0.552768 |
2.29724 |
0.04 |
|
5 |
0 |
-1 |
0 |
2 |
0 |
2 |
2 |
2 |
3.Реализация в Exсel
Теперь я реализую решение того же дифференциального уравнения в программе Microsoft Office Excel. Решение состоит из использования метода конечных разностей и прямой и обратной прогонки.
y'+ln(2)*y`+2x=1y(-2) = 4y(-1) = 2
Поскольку при машинном расчете количество узлов сетки не затрудняет работы, разобьем интервал на n=10 частей.
1) Для начала создаем на листе Excel такую же таблицу, как и в ручном расчете.
2) Найдем шаг по формуле:
3) С учетом шага заполним столбец x по формуле: и протянем во весь столбец.
4) P(x)=LN(2), Заполним столбец P по формуле:и протянем его во весь столбец
5) q= , Заполним столбец q по формуле:
6) f=1, Заполним столбец F.
7) A=1-P(x)h*0,5, Заполним столбец А по формуле:
8) С=2-q(x)h2, Заполним столбец С по формуле:
9) B=1+p(x)h*0,5, Заполним столбец В по формуле:
10) Fi=f(x)h2, Заполним столбец F по формуле:
F0 = y(X0); Fn=y(Xn)
11) Теперь создаем продолжение таблицы, которое состоит из представленной матрицы, использованной в ручном расчете столбцов б и в для коэффициентов прогонки, а также столбец Y для записи решений.Еще один столбец таблицы отведем для проверки результатов вычислений.
Получилась новая таблица:
12) Найдем прогоночные коэффициенты и заполним соответствующие столбцы
б0=бi=
Таблица с заполненным столбцом б:
в0=-вi=
Таблица с заполненным столбцом в:
13) Начинаем обратный ход прогонки.
Yn= вnyi= бiyi-1+вi
Таблица с найденными значениями Y:
Проведем проверку полученных решений: значения столбца Проверка должны совпасть со значениями столбца Fi
при i = 0,
при i =n,
при i = 1,…,(n-1),
Итоговый вариант таблицы с найденными значениями Y и проверкой:
Проверка сошлась.
График построенный по значениям y(x):
Добавим линию тренда и уравнение к ней:
Заключение
В своей курсовой работе я решал обыкновенное линейное неоднородное дифференциальное уравнение второго порядка с заданными граничными условиями методом конечной разности:
y'+ln(2)*y,+2x=1y(-2) = 4y(-1) = 2
В качестве вспомогательного метода использовался метод прогонки.
Расчет проводился двумя способами: ручным и машинным. Для машинного расчета был использован Microsoft Office Excel 2007. Расчет в Excel, благодаря более мелкому разбиению сетки дал более точный результат и он более удобен. В итоге на интервале [-2;-1] были получены следующие корни:
y(-2) = 4
y(-1,9) = 3,732102
y(-1,8) = 3,482151
y(-1,7) = 3,248945
y(-1,6) = 3,031363
y(-1,5) = 2,828357
y(-1,4) = 2,638952
y(-1,3) = 2,462235
y(-1,2) = 2,297358
y(-1,1) = 2,143526
y(-1) = 2
Проверка сошлась, а, значит, найденные значения Y правильные.
Уравнение y(x), найденное с помощью линии тренда:
Y = -0,198x + 4,09
Список использованной литературы
линейный дифференциальный уравнение граничный
1. Пискунов Н.С. Дифференциальное и интегральное исчисления. М.:Физматгиз, 1963. - 856 с.
2. Карпов В.В., Коробейников А.В. Математические модели задач строительного профиля и численные методы их исследования: Учеб.пособие. - СПб., СПбГАСУ, 1996. - 134 с.
3. Бахвалов Н.С. Численные методы. - М.:Наука, 1973. - 632 с.
4. Вагер Б.Г. Численные методы решения дифференциальных уравнений: Учеб.пособие - СПбГАСУ. - СПб. 2003. 114 с.
5. Любимов Е.Б. и др. Решение систем линейных алгебраических уравнений средствами программы MicrosoftExcel: Метод.указ. - СПб., СПбГАСУ, 2005. - 22 c.