- •Введение
- •1 Ход работы
- •1.1 Численное интегрирование
- •1.2 Метод левого прямоугольника
- •1.3 Метод правого прямоугольника
- •1.4 Метод трапеций
- •1.5 Метод Симпсона
- •2 Численное дифференцирование
- •2.1 Левая и правая разностные производные
- •2.2 Центральная разностная производная
- •3 Численное решение дифференциального уравнения (задача Коши)
- •3.1 Метод Эйлера
- •3.2 Метод Рунге-Кутта 2-го порядка
- •3.3 Метод Рунге-Кутта 4-го порядка
- •Заключение
2 Численное дифференцирование
Нужно составить программу, вычисляющую производную функции в любой точке с помощью левой, правой и центральной разностной производных при расстоянии между точками ℎ = 0.1.
В тестовом вопросе № 2 дана индивидуальная функция и точка, в которой нужно вычислить точное значение производной аналитически и приблизительное значение с помощью разработанной программы.
Рисунок 2.1 - Функция
2.1 Левая и правая разностные производные
Для вычисления производной функции в любой точке используется левая разностная производная (рисунок 2.2) и правая разностная производная (рисунок 2.3).
Рисунок 2.2 – Формула левой разностной производной
Рисунок 2.3 – Формула правой разностной производной
Код разностей производной представлен на изображении ниже (рисунок 2.4).
Рисунок 2.4 – Код программы
2.2 Центральная разностная производная
Для вычисления производной функции в любой точке также используется центральная разностная производная (рисунок 2.5).
Рисунок 2.5 – Формула центральной разностной производной
Код центральной разностной производной представлен на изображении ниже (рисунок 2.6).
Рисунок 2.6 – Код программы
На рисунке 2.7 изображен результат работы программы.
Рисунок 2.7 – Результат программы
Таблица 2 – Сравнение полученных значений
Аналитический вид заданной функции |
Точное значение производной |
Левая разность |
Правая разность |
Центральная разность |
f(x)=cos(x+3)−3x+2) |
-2,72 |
-2,67 |
-2,77 |
-2,72 |
Исходя из таблицы, можно сделать вывод, что центральная разность совпадает с точным значением производной, а левая и правая разности имеют некоторые незначительные погрешности.
3 Численное решение дифференциального уравнения (задача Коши)
Дана задача Коши вида: 𝑦 ′ = 𝑓 (𝑥, 𝑦), 𝑦 (𝑥0) = 𝑦0 и последовательность точек 𝑥𝑖, 𝑖 = 0, … 20, c шагом ℎ = 0.1: 𝑥 = {0, 0.1,0. 2… ,2}.
Нужно составить программу, с помощью следующих методов определяющую последовательность точек
• 𝑦̃1(𝑥𝑖), 𝑖 = 1… ,20 – методом Эйлера (Рунге-Кутта 1-го порядка)
• 𝑦̃2(𝑥𝑖), 𝑖 = 1… ,20 – методом Рунге-Кутта 2-го порядка
• 𝑦̃4(𝑥𝑖), 𝑖 = 1… ,20 – методом Рунге-Кутта 4-го порядка.
Для данной в тестовом вопросе № 3 задачи Коши необходимо найти:
• численное решение с помощью разработанной программы всеми тремя способами (последовательности 𝑦̃1(𝑥𝑖), 𝑦̃2(𝑥𝑖), 𝑦̃4(𝑥𝑖), 𝑖 = 1, … ,20)
• точное решение любым способом в виде функции 𝑦(𝑥).
Рисунок 3.1 – Дифференциальное уравнение
3.1 Метод Эйлера
Это самый простой метод группы, он использует разложение Тейлора до первой производной. Таким образом, метод Эйлера осуществляет движение в каждой следующей точке по касательной к кривой, проведенной в предыдущей точке (рисунок 3.2).
Рисунок 3.2 – Формула метода Эйлера
Реализация метода Эйлера на языке программирования C# изображена на рисунке 3.3.
Рисунок 3.3 – Код программы
