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

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

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

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

Лабораторна робота № 6 з дисципліни "Чисельні методи". Тема: Інтерполяційна схема Ейткена

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

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

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

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

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

У роботі досліджено інтерполяційну схему Ейткена для наближеного обчислення значень функції косинуса. Реалізовано програму мовою C++ та проведено аналіз залежності точності результату від кроку обчислень.

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

  • Чисельні методи
  • Інтерполяційна схема Ейткена
  • Апроксимація функцій
  • Інтерполяційний багаточлен Лагранжа
  • Похибка обчислень
  • Мова програмування C++

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

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

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

інтерполяційна схема Ейткенаапроксимаціябагаточлен Лагранжапохибка обчисленьвузли інтерполяціїтаблиця значенькрок обчисленьматриця значеньдискретизація

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

Міністерство освіти і науки України Національний університет “Львівська політехніка” Інститут комп’ютерних наук та інформаційних технологій / ЛАБОРАТОРНА РОБОТА № 6 з дисципліни: "Чисельні методи" на тему: «Інтерполяційна схема Ейткена» Львів – 2018 ЛАБОРАТОРНА РОБОТА № 6 Тема роботи: Інтерполяційна схема Ейткена. Мета роботи: Засвоїти теоретичний матеріалі методи апроксимації функцій, набути практичні навики знаходження наближених значень функцій. Теоретичні відомості: Схема Ейткена На практиці зустрічаються випадки, коли потрібно мати значення інтерполяційного багаточлена Лагранжа в деякій точці х, а не загальний його вигляд. Тоді зручно користуватись інтерполяційною схемою Ейткена. Обчислювальний алгоритм має такий вигляд:                                                         причому  – інтерполяційний багаточлен Лагранжа за вузлами хо,х,...,хп. Кожен із  отримують з  та  шляхом перехресного множення та ділення. Із застосуванням схеми Ейткена поступово можна залучати щораз нові значення вузлів хк доти, поки обчислення не засвідчать, що точність уже не зростає. Варіант 24: Користуючись таблицею значень cos(x), xє[0.75k, 0.8k] з певним кроком. Знайти наближене значення cos(x) при x=0.775, де k-списковий номер студента. Результати обчислень подати таблично. Похибку обчислити порівнянням з стандартним значенням косинуса. Порівняти з похибкою методу. Дослідити залежність кількості точок у схемі Ейткена (кроку обчислень) та точності результату. Провести не менше 8 реалізацій. Код програми: #include <Windows.h> #include <cmath> #include <iostream> #include <iomanip> using namespace std; int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); double sta, fin, x, h; cout << "ЛАБОРАТОРНА РОБОТА №6" << endl; cout << "Введіть початок інтервалу: "; cin >> sta; cout << "Введіть кінець інтервалу: "; cin >> fin; x = 0.775; double val_cos = cos(x); for (int l = 0; l < 11; l++) { h = 0.01 + 0.003*l; int n; // кількість елементів масиву n = 1.5 + ((fin - sta) / h); double* arr_x = new double[n], *arr_cos = new double[n], *arr_xk_x = new double[n]; double** arr_L; // матриця значень arr_L = new double*[n - 1]; for (int i = 0; i < n - 1; i++) arr_L[i] = new double[n - 1]; for (int i = 0; i < n; i++) { //ініціалізація початкових значень arr_x[i] = sta + h*i; arr_cos[i] = cos(arr_x[i]); arr_xk_x[i] = arr_x[i] - x; } for (int j = 0; j < n - 1; j++) { //заповнення матриці Ейткена int position = 0; for (int i = j; i < n - 1; i++) { if (j == 0) { arr_L[i][j] = (arr_cos[i] * arr_xk_x[i + 1] - arr_cos[i + 1] * arr_xk_x[i]) / h; } else { arr_L[i][j] = (arr_L[i - 1][j - 1] * arr_xk_x[i + 1] - arr_L[i][j - 1] * arr_xk_x[position]) / (arr_x[i + 1] - arr_x[position]); position++; } } } cout<<endl<<"Крок : "<< h<<endl; cout<<"Кількість елементів : "<< n<<endl; cout<<"Обчислене значення : "<< arr_L[n - 2][n - 2] <<endl; cout<<"Істинне значення : "<< val_cos <<endl; cout<<"Похибка : "<<fabs(arr_L[n - 2][n - 2] - val_cos)<<endl; } system("pause>>void"); return 0; } Результат: / / Графік: / Висновок: В результаті виконання цієї лабораторної роботи я вивчила інтерполяційну схему Ейткена, провела залежність точності від кроку обчислення. З графіка видно, що чим менший крок, тим меншою є і абсолютна похибка обчислень. Також обчислила значення косинуса у точці 0,775 cos(0.775) = 0.7144210341.
Допоможи студентському архіву

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

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

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

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

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

Admin

26.02.2023 12:38

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