- •Оглавление
- •Реализация в Excel
- •Численные методы решения нелинейных уравнений
- •Постановка задачи
- •Шаговый метод
- •Метод деления отрезка пополам
- •Метод касательных (Ньютона)
- •Метод хорд
- •Метод простой итерации
- •Численные методы решения определенных интегралов
- •Постановка задачи
- •Метод левых прямоугольников
- •Метод правых прямоугольников
- •Метод центральных прямоугольников
- •Метод трапеций
- •Метод парабол (Симпсона)
- •Метод Эйлера
- •Численные методы решения дифференциальных уравнений
- •Постановка задачи
- •Метод Эйлера
- •Метод Рунге-Кутты 4-го порядка
- •Метод Рунге-Кутты 5-го порядка
- •Метод Адамса
- •Метод прогонки
- •Погрешность результата численного решения задач
- •Задание 1-a
- •Задание 1-b
- •Задание 1-c
- •Задание 1-d
- •Задание 1-e
- •Задание 1-f
- •Задание 2
- •Метод сопряженных градиентов
- •Решение нелинейных уравнений
- •Решение определенных интегралов
- •Формулы Ньютна – Котесса
- •Метод Гаусса
- •Метод Тейлора
- •Решение обыкновенных дифференциальных уравнений
- •Метод Эйлера
- •Метод Рунге-Кутты 4-го порядка
- •Метод Рунге-Кутты 5-го порядка
- •Метод Адамса
- •Прогонка
- •Вывод:
- •Список литературы
Численные методы решения дифференциальных уравнений
Постановка задачи
Решить дифференциальное уравнение с заданными начальными условиями:
, y(0), [a,b]=[0,0.3], h=0.1.
Решить краевую задачу методом прогонки:
A(x) = |
0.4 + 2x + |
|
x2 |
, |
|
|
|||
|
2 |
|
|
||||||
B(x) = x 0.7 , |
|
|
|
|
|||||
C (x) = −0.95x 2 , |
|
|
|
|
|||||
f (x) = |
|
|
+ cos(2x) , |
|
|
||||
|
x |
|
|
||||||
|
|
|
π |
|
|
xn − x0 |
|
||
x0 = 1, xn = 1.5, n = |
8, h = |
= 0.0625 , |
|||||||
n |
|||||||||
|
|
|
|
|
|
|
|
||
y(x0 ) = 1.3, y(xn ) = 1.1.
Решим это, используя специальные возможности пакета Excel. Последовательность действий (см. рис. 3):
Метод Эйлера
1.Оформить заголовок в строке 1 «Численные методы решения обыкновенных дифференциальных уравнений».
2.В ячейки A3 и A4, C4, C5, C6 записать данные по задаче.
3.Оформить заголовок в строке 7 «Метод Эйлера».
4.В области A9:D9 записать заголовки рядов (соответственно: n - номер итерации, xn, yn, y)
5.В ячейки A9 и A10 ввести первые два значения итерации - 0 и 1.
6.Выделить ячейки A9,A10 и протащить ряд данных до конечного значения 3.
7.В ячейки B9 и B10 ввести первые два значения аргумента - 0 и 0.1.
8.Выделить ячейки B9,B10 и протащить ряд данных до конечного значения 0.3, убедившись в правильном выстраивании арифметической прогрессии.
9.В ячейку D10 ввести формулу «=D6*EXP(B10*C10)».
10.Скопировать формулу на остальные элементы ряда, используя прием протаскивания.
Метод Рунге-Кутты 4-го порядка
1.Оформить заголовок в строке 7 «Метод Рунге-Кутты 4-го порядка».
2.В области F9:K9 записать заголовки рядов (соответственно: xn, yn, k1, k2, k3 k4)
3.В ячейки F9 и F10 ввести первые два значения аргумента - 0 и 0.1.
4.Выделить ячейки F9,F10 и протащить ряд данных до конечного значения 0.3.
5.В ячейки G10 ввести первое значение функции- 0.
6.В ячейку H10 ввести формулу «=D6*EXP(B11*C11)»..
7.В ячейку I10 ввести формулу «=0,1*EXP((F10+0,1/2)*(G10+H10/2))»..
8.В ячейку J10 ввести формулу «=0,1*EXP((F10+0,1/2)*(G10+I10/2))».
9.В ячейку H10 ввести формулу «=0,1*EXP((F10+0,1)*(G10+J10))».
1 0. В ячейку Y11 ввести формулу «=G10+(H10+2*I10+2*J10+K10)/6».
11.Скопировать формулы на остальные элементы рядов, используя прием протаскивания.
Метод Рунге-Кутты 5-го порядка
1.Оформить заголовок в строке 15 «Метод Рунге-Кутты 5-го порядка».
2.В области A17:G17 записать заголовки рядов (соответственно: xn, yn, k1, k2, k3 k4,k5)
3.В ячейки A18 и A19 ввести первые два значения аргумента - 0 и 0.1.
4.Выделить ячейки A18,A19 и протащить ряд данных до конечного значения 0.3.
5.В ячейки B18 ввести первое значение функции- 0.
6.В ячейку C18 ввести формулу «=0,1/3*EXP(A18*B18)».
7.В ячейку D18 ввести формулу «=0,1/3*EXP((A18+0,1/3)*(B18+C18))».
8.В ячейку E18 ввести формулу «=0,1/3*EXP((A18+0,1/2)*(B18+C18/2+D18/2))».
9.В ячейку F18 ввести формулу «=0,1/3*EXP((A18+0,1/2)*(B18+3*C18/8+9*E18/8))».
1 0. В ячейку G18 ввести формулу «=0,1/3*EXP((A18+0,1)*(B18+3*C18/2- 9*E18/8+6*F18))».
1 1 . В ячейку B19 ввести формулу «=(C18+G18+4*F18)/2».
12.Скопировать формулы на остальные элементы рядов, используя прием протаскивания.
Метод Адамса
1.Оформить заголовок в строке 15 «Метод Адамса».
2.В ячейках J17 и J17 записать заголовки рядов соответственно xn и yn.
3.В ячейки I18 и I19 ввести первые два значения аргумента - 0 и 0.1.
4.Выделить ячейки I18,I19 и протащить ряд данных до конечного значения 0.5.
5.В ячейки J18 ввести первое значение функции- 0.
6.В ячейку G21 ввести формулу «=J21+0,1/24*(55*EXP(I21)- 59*EXP(I20)+37*EXP(I19)-9*EXP(I18))».
7.Скопировать формулу на остальные элементы ряда, используя прием протаскивания.
Метод прогонки
1.Оформить заголовок в строке 25 «Метод прогонки».
2.В ячейки A27:A34 записать данные по задаче.
3.В области D27:J17 записать заголовки рядов (соответственно: n, x, y, m, n2, c, d)
4.В ячейки D28 и D29 ввести первые два значения итерации - 0 и 1.
5.Выделить ячейки D28 и D29 и протащить ряд данных до конечного значения 8.
6.В ячейки E28 и F28 ввести первые значения функции- 1 и 1.3.
7.В ячейку G28 ввести формулу «=-2+0,0625*СТЕПЕНЬ(1;0,7)/(0,4+2*1+1*1/2)».
8.В ячейку H28 ввести формулу:
«=1-0,0625*СТЕПЕНЬ(1;0,7)/(0,4+2*1+1*1/2)+0,0625*0,0625*(-0,95)*1».
9. В ячейку I28 ввести формулу «=1/G28».
1 0. В ячейку J28 ввести формулу «=0,1/3*EXP((A18+0,1/2)*(B18+3*C18/8+9*E18/8))».
1 1 . В ячейку G18 ввести формулу:
«=-H28*1,3+(КОРЕНЬ(1)+COS(2*1)/ПИ())*0,0625*0,0625».
1 2 . В ячейку E29 ввести формулу «=1+D29*0,0625».
1 3 . В ячейку F29 ввести формулу «=I28*(J28-F28)».
14.Скопировать формулы на остальные элементы рядов, используя прием протаскивания.
Рис.3 Решение ОДУ и краевых задач в среде Excel.
