Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Чисельні методи

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

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

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

Рік:
2024
Тип роботи:
Лабораторна робота
Предмет:
Чисельні методи аналізу автоматичних систем
Варіант:
14

Частина тексту файла

Міністерство освіти і науки України Національний університет “Львівська політехніка” / ЛАБОРАТОРНА РОБОТА № 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.
Антиботан аватар за замовчуванням

08.11.2018 17:11

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

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

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

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини