DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Розв’язування задачі Коші методом Рунге-Кутта

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2018
Тип роботи:
Лабораторна робота
Предмет:
Чисельні методи
Група:
КН-31
Варіант:
14
Коротко про документ

Про що ця робота

У роботі досліджено чисельне розв'язання задачі Коші за допомогою методу Рунге-Кутта. Наведено програмну реалізацію на C++ та результати обчислень.

У роботі розглядаються

  • Чисельні методи
  • Задача Коші
  • Метод Рунге-Кутта
  • Диференціальні рівняння
  • Програмування на C++
  • Оцінка похибки

Зміст і розділи

  1. Мета роботи
  2. Завдання варіанта
  3. Код програми
  4. Результат
  5. Графік
  6. Висновок
Для кого:Студенти технічних та комп'ютерних спеціальностей вищих навчальних закладів.
Викладачі:Дронюк І. М.

Ключові поняття

Задача КошіМетод Рунге-КуттаДиференціальне рівнянняКрок інтегруванняПохибка обчисленьТочний розв'язокПравило РунгеПрограмний код

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет “Львівська політехніка” / ЛАБОРАТОРНА РОБОТА № 8 з дисципліни: "Чисельні методи" на тему: «Розв’язування задачі Коші методом Рунге-Кутта » ЛАБОРАТОРНА РОБОТА № 8 Тема роботи: Розв’язування задачі Коші методом Рунге-Кутта. Мета роботи: Вивчити і засвоїти постановку та методи розв’язування задачі Коші. Навчитися досліджувати розв’язок , використовуючи метод Рунге-Кутта. Варіант 24: Застосовуючи чисельні методи розв’язування задачі Кошi, розв’язати диференцiальне рівняння першого порядку з точністю є =0.0001 на відрізку  із кроком h= 0.05 i заданими початковими умовами , а також порівняти отриманий розв’язок із точним розв’язком y*, використовуючи правило Рунге. Провести дослідження точності обчислень від кількості кроків. Дослідити не менше 10 випадків. Використовуючи точний розв’язок, обґрунтувати необхідну кількість кроків для досягнення заданої точності на заданому у завданні проміжку. / Код програми: #define _USE_MATH_DEFINES #include <Windows.h> #include <iostream> #include <iomanip> #include <cmath> using namespace std; double f(double x, double y) { return y*y*pow(M_E,x) - 2*y ;} double f1(double x, double y) {return 1/(pow(M_E,x) + pow(M_E,2*x));} int main() { SetConsoleOutputCP(1251); cout << "ЛАБОРАТОРНА РОБОТА №8" << endl; double x_n1, y_n1; double x_n, y_n; double x0, y0; double h = 0.054, n; double k1, k2, k3, k4; double val_func; cout << "Введіть значення х0 та у0: "; cin >> x0 >> y0; cout << "Крок\tX\t\tY\t\tІстинне значення\tПохибка" << endl; for (int i = 0; i <= 10; i++) { x_n = x0; y_n = y0; h -= 0.004; n = (int)((0.5 / h) + 0.5); for (int j = 0; j < n; j++) { k1 = f(x_n, y_n); k2 = f(x_n + h / 2, y_n + k1 / 2); k3 = f(x_n + h / 2, y_n + k2 / 2); k4 = f(x_n + h, y_n + k3); x_n1 = x_n + h; y_n1 = y_n + h / 6 * (k1 + 2 * k2 + 2 * k3 + k4); x_n = x_n1; y_n = y_n1; } val_func = f1(x_n, y_n); cout << fixed << setprecision(3)<< h << setprecision(10) << "\t" << x_n << "\t" << y_n << "\t" << val_func << "\t\t"; cout << scientific <<fabs(val_func - y_n) << endl; } system("pause>>void"); return 0; } Результат: / Графік: / / Висновок: В результаті виконання лабораторної роботи було вивчено метод Рунге-Кутта для розв’язання задачі Коші диференціальних рівнянь. Також приведено графік залежності точності обчислень від кроку. З результатів роботи програми видно, що точність обчислень при різних кроках є 10 −2 . Було знайдено розв’язок диференційного рівняння /у точці X = 0,5, Y = 0.345.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!