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

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

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

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

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

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

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

Міністерство освіти і науки України Національний університет “Львівська політехніка” Інститут комп’ютерних наук та інформаційних технологій / ЛАБОРАТОРНА РОБОТА № 4 з дисципліни: "Чисельні методи" на тему: «Метод хорд і дотичних» ЛАБОРАТОРНА РОБОТА № 4 Тема роботи: Метод хорд і дотичних. Мета роботи: Вивчити і засвоїти ітераційні методи розв’язування алгебраїчних і трансцендентних рівнянь. Теоретичні відомості: Метод хорд – метод лінійної інтерполяції (метод пропорційних частин, метод січних). Ідея методу полягає в тому, що на досить малому проміжку  дугу кривої  заміняють хордою, а за наближене значення кореня приймають точку перетину хорди з віссю ОХ. Значення функції визначаються в точках, що розташовані на осі через рівні інтервали. Це робиться доти, поки кінці інтервалів ,  не будуть мати різні знаки. Тоді пряма, що проведена через ці дві точки, перетинає вісь абсцис у точці / У методі дотичних здійснюється екстраполяція за допомогою дотичної до кривої в даній точці : / Початкове наближення слід вибирати з умови / Однією з головних проблем при застосуванні методу Ньютона є необхідність аналітичного опису похідної. Якщо це складно чи неможливо, то можна застосувати її наближену оцінку. Тоді замість методу дотичних застосовується метод січних, за яким / де F′ () – наближена оцінка похідної, що розглядається як січна, а не як дотична, і може бути оцінена за формулою / Варіант 24: Знайти один з коренів рівняння f(x)=0, використовуючи методи дотичних, хорд і простої ітерації. Провести дослідження кількості ітерацій для кожного з методів при зміні точності від до .  Код програми: #include <iostream> #include <Windows.h> #include <cmath> using namespace std; double Function_Value(double x) { return x - cos(x); } double Derivative_Value (double x) { return 1 + sin(x); } double Derivative2_Value (double x) { return cos(x); } int main() { SetConsoleOutputCP(1251); double X_n, X_m, X_mid; double F_mid; double eps; int count = 0; cout << "ЛАБОРАТОРНА РОБОТА № 4" << endl; for (int i = 0; i < 10; i++) { X_n = Function_Value(i) > 0 ? 1 : -1; X_m = Function_Value(i + 1) > 0 ? 1 : -1; if (X_n != X_m) { X_n = i; X_m = i + 1; break; } } cout << "МЕТОД ХОРД:" << endl; cout << "Точність\t Значення X\t Кількість ітерацій" << endl; eps = 0.1; for (int i = 0; i < 10; i++, eps /= 10) { while (fabs(X_m - X_n) > eps) { X_n = X_m - (X_m - X_n)*Function_Value(X_m) / (Function_Value(X_m) - Function_Value(X_n)); X_m = X_n - (X_n - X_m)*Function_Value(X_n) / (Function_Value(X_n) - Function_Value(X_m)); count++; } cout << eps << "\t\t" << X_m << "\t\t" << count << endl; } cout << "МЕТОД ДОТИЧНИХ:" << endl; cout << "Точність\t Значення X\t Кількість ітерацій" << endl; for (int i = 0; i < 10; i++) { double k = Derivative2_Value(i)*Function_Value(i); double squad = Derivative_Value(i)*Derivative_Value(i); if (k > 0 && k < squad) { X_n = i; break; } } double X0 = X_n, X1 = X_n + 0.1; eps = 0.1; for (int i = 0; i < 10; i++, eps /= 10) { count = 0; do { X_n = X_n - Function_Value(X_n) / Derivative_Value(X_n); count++; } while (fabs(Function_Value(X_n)) >= eps); cout << eps << "\t\t" << X_n << "\t\t" << count << endl; } cout << "МЕТОД СІЧНИХ:" << endl; cout << "Точність\t Значення X\t Кількість ітерацій" << endl; for (eps = 0.1; eps > 1e-10; eps /= 10) { count = 0; double F_X0 = Function_Value(X0), F_X1 = Function_Value(X1); while (1) { count++; X_mid = X0 - F_X0*(X1 - X0) / (F_X1 - F_X0); F_mid = Function_Value(X_mid); if (fabs(F_mid) < eps) break; X0 = X1; F_X0 = F_X1; X1 = X_mid; F_X1 = F_mid; } cout << eps << "\t\t" << X_mid << "\t\t" << count << endl; } system("pause>>void"); return 0; } Результат: / Графік: / / / / Висновок: В результаті виконання цієї лабораторної...
Антиботан аватар за замовчуванням

08.11.2018 17:11

Коментарі

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

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

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

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

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

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

Admin

26.02.2019 12:38

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

Новини