Ім'я файлу: Курсова Саміленко В.О. кінцева (3).docx
Розширення: docx
Розмір: 371кб.
Дата: 19.04.2022
скачати
Пов'язані файли:
карта хворого.docx
Документ Microsoft Office Word (2).docx
Туризм в Італії.pptx
геометрія конспект.docx
СХЕМА ТЕХПРОЦЕСУ.doc
Дошкільна педагогіка.docx
твір.rtf
Завдання .docx
Фетишизм.docx
Дмитрів Богдан (2).pdf
Лекція 2 Моделі і типи даних.docx
59283 (1).doc


Вінницький національний технічний університет

Кафедра автоматизації та інтелектуальних інформаційних технологій

Факультет КСА

КУРСОВА РОБОТА

з дисципліни «Методи комп’ютерних обчислень»

на тему: «Дослідження методів інтерполяції»

Студента 2 курсу групи 2ІСТ-18б,

напряму підготовки: 126 Інформаційні системи та технологоії

Саміленко В.О.____________________
Керівник:

к.т.н., доц. Богач І. В.__________________

Національна шкала ___________________

Кількість балів: _____ Оцінка: ECTS ____

Члени комісії:

___________________________

___________________________


м. Вінниця – 2020

Міністерство освіти і науки України

Вінницький національний технічний університет

Факультет комп’ютерних систем і автоматики
ЗАТВЕРДЖУЮ

Зав. кафедри АІІТ, проф., д.т.н.
______________ Р.Н.Квєтний

(підпис)

„___” ______________ 2020 р.


ІНДИВІДУАЛЬНЕ ЗАВДАННЯ

на курсову роботу з дисципліни ”Методи комп'ютерних обчислень”
студенту Саміленку В.О. групи 2ІСТ-18б
ТЕМА Дослідження методів інтерполяції

Постановка задачі:

  1. Дослідити чисельні методи розв’язання задачі інтерполяції

  2. Скласти алгоритми заданих методів

  3. Розробити програмне забезпечення для розв’язання інтерполяції напруги (кожен метод реалізувати окремою функцією)

  4. Протестувати програму

  5. Вирішити задану інтерполяцію, проаналізувати отримані результати, розрахувати похибки.

Вхідні дані:

  • початкові значення:

  • методи для вирішення інтерполяції: методом Лагранжа та Ньютона (праві та ліві різниці);

  • крок обчислення: тарировочна таблиця

Зміст пояснювальної записки до курсової роботи:

Індивідуальне завдання

Вступ

1. Короткі теоретичні відомості

2. Алгоритми методів

3. Розробка програмного забезпечення (вибір мови програмування; вхідні/
вихідні дані; структура програми; інструкція користувачеві)

4. Тестування програмного забезпечення

5. Аналіз отриманих результатів

Висновки

Перелік посилань

Додатки (схема програми, лістинг програми та додаткові, за необхідністю)
Дата видачі ”____” _________ 2020 р. Керівник _________________

(підпис)
Завдання отримав _________

(підпис)

АНОТАЦІЯ
В даній курсовій роботі досліджено методи інтерполяції. Найбільшу увагу приділено обчисленню інтерполяції методами Лагранжа та Ньютона (праві та ліві різниці), розроблено та протестовано програмне забезпечення згідно з відповідними алгоритмами і обчисленно інтерполяцію та розраховується похибка.

Ключові слова: інтерполяція, метод Лагранжа, метод Ньютона.

ANNOTATION


In this course work the methods of interpolation are investigated. Most attention is paidto the calculation of interpolation by Lagrange and Newton methods (right and left differences), software is developed and tested according to the appropriate algorithms and the interpolation is calculated and the error is calculated.

Keywords: interpolation, Lagrange method, Newton`s method.

ЗМІСТ



ВСТУП 6

1 КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ 7

1.1Інтерполяційний багаточлен Лагранжа 8

1.2Інтерполяційний поліном Ньютона 11

1.3Поняття похибки 13

2АЛГОРИТМИ МЕТОДІВ 16

3 РОЗРОБКА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ 19

3.1 Вибір мови програмування 19

3.2 Вхідні та вихідні дані 19

3.3 Структура програмного забезпечення 20

Схема програми показана в додатку А 20

3.4 Інструкція користувача 20

4 ТЕСТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ 21

Дана таблиця експерементальних даних: 21

Виділяємо праву частину полінома, вибираємо команду меню Symbolics – Simplify, в результаті чого отримуємо : 21

Значення функції в заданій точці x=2.5 дорівнює: 21

Другий спосіб: 22

Визначаємо степінь полінома Лагранжа: 22

Будуємо поліном Лагранжа: 22

Визначаємо значення функції в точці 22

5 АНАЛІЗ ОТРИМАНИХ РЕЗУЛЬТАТІВ 24

Проведемо запуск створеної програми для визначення інтерполяції напруги методом Лагранжа та Ньютона (праві та ліві різниці) 24

Вводимо кількість значень x або y 24

Вводимо значення X[1],X[n] 24

Вводимо значення Y[1],Y[n] 24

Вводимо значення напруги 24

Обираємо один із трьох методів 24

Отримуємо значення в точці 24

Результати програми показані в додатку Б 24

ВИСНОВКИ 25

В даній курсовій роботі реалізована задача “Знаходження інтерполяційного многочлена Лагранжа”. Здійснено математичний опис задачі, постановку задачі та розробку програмного пакету згідно з постановкою. Розроблено алгоритм поставленої задачі. Складено і налагоджено програму на мові C#. 25

У процесі налагодження було одержано працездатний пакет програм. Роботу пакету перевірено на контрольному прикладі, одержано результати, що співпадають з теоретичними. 25

Результат розробки оформлений у вигляді програмного проекту, що приводиться у додатку до курсової роботи. 25

Подальший розвиток роботи можливий у бік поліпшення зовнішньогоінтерфейсу й адаптації програми до ширшого використання. 25

Додатки 27

Додаток А 28

Схема програми 28

Додаток Б 29

Результати роботи програми 29

Додаток В 32

Лістинг програми 32



ВСТУП



Сучасний час характерний різким розширенням розділів математики, багато в чому зв’язаним з створенням і розвитком засобів обчислювальної техніки. Проте можна сказати ще одне - числові машини можна використовувати ефективно лише за умови глибокого знання чисельних методів математики. Математичне моделювання-засіб дослідження реальних об’єктів та явищ використаних у геофізиці, хімії, геології, біології, медицині, психології, лінгвістиці та ін. науках.

Математичне моделювання можна розглядати як засіб вивчення реальної системи шляхом заміни її більш зручною для експерементального дослідження системи (моделлю), яка зберігає суттєві риси оригіналу.

Математичне моделювання включає такі етапи: дослідження об’єкта і створення його математичного опису; побудова алгоритму, який моделює поведінку об’єкта; перевірка адекватності моделі і об’єкта; використання моделі.

Ефективність математичного моделювання в більшості визначається ефективністю використовуваних для розрахунків моделей обчислювальних методів і алгоритмів.

У більшості випадків підбір підходящих рівнянь ускладнюється тим, що експериментальні дані отримані приблизно і вміщують похибку експерименту та обчислювань.

1 КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ



У курсовій роботі проведено дослідження методів інтерполяції. Багатьом із тих, хто стикається з науковими та інженерними розрахунками часто доводиться оперувати наборами значень, отриманих експерементальним шляхом чи методом випадкової вибірки. Як правило, на підставі цих наборів потрібно побудувати функцію, зі значеннями якої могли б з високою точністю збігатися інші отримувані значення. Така задача називається апроксимацією кривої. Інтерполяцією називають такий різновид апроксимації, при якій крива побудованої функції проходить точно через наявні точки даних. [1].

Інтерполяція – це відтворення (наближення) виду деякої функції в точках , , за допомогою функції наближення так, щоб виконувалася умова
, . (1.1)
Найчастіше застосовується інтерполяція у вигляді полінома на проміжку [ так, щоб значення цього полінома при заданих значеннях , які називаються вузлами інтерполяції, точно дорівнювало б заданим значенням функції або цю умову можна записати так:
; (1.2)
Інтерполяційний багаточлен однозначно визначається вузлами інтерполяції та значеннями функції в них. Так, якщо вони отримані шляхом експериментальних вимірювань, то вони мають похибку приладів, похибку методу експерименту, похибку випадкових впливів зовнішнього середовища. Оскільки багаточлен зберігає значення функції у вузлах інтерполяції, то йому притаманні і всі похибки значень точок інтерполяції, більш того, він може навіть посилювати так званий „шум” експерименту. Тому інтерполяція практично застосовується у тих випадках, де цими похибками можна знехтувати, наприклад, при роботі з таблицями та графіками (їхнє заміщення у розрахунках інтерполяційним поліномом).

    1. Інтерполяційний багаточлен Лагранжа



Інтерполяційний поліном Лагранжа записують у вигляді:
(1.3)
Де – значення функції у вузлах інтерполяції, а визначаються як:
при (1.4)
визначаються тільки вузлами інтерполяції і набувають в них значення:
(1.5)
Формула Лагранжа дає простий вираз інтерполяційного багаточлена через задані значення функції i y і при фіксованих вузлах інтерполяції легко програмується. Для підбору степеня інтерполяційного полінома всі вузли можна зберігати у файлі та за необхідності вибирати потрібну їх кількість.

Оскільки інтерполяційний багаточлен Лагранжа лінійно залежить від значень функції, то інтерполяційний багаточлен від суми буде дорівнювати сумі інтерполяційних багаточленів
(1.6)
Для часткового випадку лінійної інтерполяції (наближення функції багаточленом 1-го степеня) за двома вузлами, формула Лагранжа буде мати вигляд:
(1.7)

Похибку параболічної інтерполяції можна оцінити за допомогою залишкового члена ряду, який можна записати таким чином:
(1.8)
де точка ξ належить інтервалу, на якому розміщені вузли інтерполяції. Якщо на цьому інтервалі відоме найбільше значення , яке будемо позначати

то оцінити похибку можна за такою формулою:
(1.9)
Похибку лінійної інтерполяції можна оцінити величиною:
(1.10)
Де , – інтервалу інтерполяції.

Для табличних функцій, аналітична форма яких невідома, застосувати такі оцінки досить важко і це обмежує практичне використання формули Лагранжа. Також до недоліків цієї формули можна віднести той факт, що результуючий степінь полінома буде відомим лише при розкритті всіх дужок і зведенні подібних, а, отже, формула не пристосована до нарощування вузлів інтерполяції (для збільшення степеня полінома необхідно виконати повний перерахунок усіх коефіцієнтів).

    1. Інтерполяційний поліном Ньютона



Нехай , де k – ціле число, .Тоді величина:
(1.11)
називається скінченною різницею першого порядку функції в точці , вираз:
(1.12)
буде представляти скінченну різницю другого порядку. Скінченну різницю n-го порядку можна обчислювати за рекурентною формулою:
(1.13)
де n ≥ 1,
При обчисленні скінченних різниць, зручно записувати їх у таку таблицю:
Таблиця 1.1 – Обчислення скінченних різниць





















































































Якщо ,то існує така точка ξ , що ξ)

Скінченна різниця n-го порядку алгебраїчного багаточлена n-го степеня є постійною величиною (не залежить від k ), а скінченні різниці вищих порядків дорівнюють нулю. Часто у практичних задачах заздалегідь невідомий степінь полінома для отримання кращого наближення. Якщо в таких випадках застосовувати поліном Лагранжа, то це призведе до великої кількості обчислень. Краще застосувати такі поліноми, які дозволяють нарощувати степінь без виконання повного перерахунку.

Таку властивість має інтерполяційний поліном Ньютона:
(1.14)
який отримується за допомогою рекурентного співвідношення:
(1.15)
Інтерполяційний багаточлен Ньютона для будь-яких точок можна записати через розділені різниці:
(1.16)

    1. Поняття похибки



Основними джерелами виникнення похибок обробки даних, отриманих різними шляхами (з експериментів чи у результаті розрахунків) є:

  1. наближеність початкових даних;

  2. похибка чисельних методів;

  3. похибка обчислень, комп‘ютерна похибка.

Якщо чисельні методи застосовують для обробки даних, отриманих у результаті експериментів, то першим джерелом виникнення похибок будуть умови проведення іспитів, які певною мірою спотворюють дані. Так, похибки поділяють на систематичні та випадкові. Систематичні похибки можуть виникати за рахунок неправильно відкаліброваних приладів або систематичних перешкод при проведенні експерименту та знятті показників. Систематичні похибки будуть призводити до систематичних невірних результатів, а, отже, і невірних висновків на їхній основі. Тому необхідно дотримуватись умов проведення „чистих експериментів” і уникати виникнення систематичних похибок. Випадкові похибки обумовлені випадковими факторами, наприклад, впливом зовнішнього середовища, неточністю зняття показників приладів, неуважністю дослідника.

Випадкові похибки можуть спотворювати точне значення як з надлишком, так і з недостачею, тому загалом вони будуть компенсуватись і прямувати до точного значення. Очевидно, що негативні наслідки від випадкових похибок значно менші, ніж від систематичних. У випадку, коли проводиться чисельний експеримент над математичною моделлю, отримані дані містять похибку, обумовлену наближеністю самої моделі до реального явища, яке вона описує. На основі отриманих даних формалізується задача, яку необхідно розв‘язати. Практичні задачі часто мають досить складний вираз і їх неможна розв‘язати аналітично. Тоді до задач застосовують чисельні методі. Більшість чисельних методів базується на спрощенні початкових складних функцій, що також призводить до виникнення похибки методу. Для спрощення реалізації методів, вони виражаються рекурентними формулами. На кожному кроці обчислень виконується операція округлення і в процесі багаторазового повторення рекурентної формули накопичується похибка обчислень. Необхідно пам‘ятати, що всі розрахунки за допомогою комп‘ютера виконуються над наближеними числами, які в процесі виконання дій округляються до порядку, що визначається точністю вибраного типу даних. Наприклад, у мові С/С++ тип float визначає дійсні числа, для представлення яких виділяється чотири байти, і точність представлення числа не перевищує шостого знака. Тип double – виділяє для запису дійсного числа вісім байтів і дає змогу зберігати більшу кількість значущих цифр дійсного числа (10-12 цифр). Щоб отримати результат із заданою точністю необхідно правильно вибирати тип даних (тип, який має точність на декілька порядків більшу, ніж задана) і враховувати, що чим більше число операцій над числами виконується, тим більшою буде накопичена похибка.

Перед виконанням математичної обробки даних, їх необхідно підготувати. Перевіряти та переглядати дані зручніше, якщо вони впорядковані. Тому, першим кроком у підготовці даних є їхнє сортування. Якщо на основі експериментальних даних буде будуватись математична модель у вигляді деяких функцій вигляду , або буде проводитись дослідження моделі, яка описується функцією, то дані мають бути відсортовані в порядку зростання значень аргументу цих функцій ,..., n, де n – кількість даних або це число ще називають об‘ємом вибірки. Наступним кроком у підготовці є перевірка їх на коректність. Для перевірки правильності даних існують спеціально розроблені методи, в основі яких лежить теорія математичної статистики. Але, навіть без застосування спеціальних теорій, дані можна перевірити на правильність просто їх візуальним переглядом.

Точність наближеного обчислення залежить не від кількості значущих цифр, а від кількості вірних значущих цифр. Якщо число містить надлишкову кількість невірних значущих цифр, то його округлюють. При виконанні допоміжних обчислень кількість значущих цифр має братись на 1-2 розряди більше ніж задана точність.

Якщо наближене число a > 0 має n вірних десяткових знаків, то відносна похибка обчислюється як де α – перша значуща цифра числа a .

Абсолютна похибка алгебраїчної суми декількох наближених чисел не перевищує суми абсолютних похибок цих чисел.

Нехай наближені числа, і – їхня сума, то абсолютна похибка суми і сума абсолютних похибок . В якості граничної абсолютної похибки суми можна взяти суму граничних похибок доданків.

Абсолютну похибку неперервної функції , що обумовлена достатньо малою похибкою аргументу можна оцінити величиною:
(1.17)

  1. АЛГОРИТМИ МЕТОДІВ



Алгоритми методів Ньютона, та Лагранжа на рис. 2.1; 2.2 та 2.3 відповідно.



Рисунок 2.1 – Метод Ньютона (перша інтерполяційна формула)



Рисунок 2.2 – Метод Ньютона (друга інтерполяційна формула)



Рисунок 2.3 – Метод Лагранжа

3 РОЗРОБКА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ




3.1 Вибір мови програмування



Для розробки заданого програмного забезпечення виберемо мову C#

C# - об'єктно-орієнтована мова програмування з безпечною системою типізації для платформи .NET. Розроблена Андерсом Гейлсбергом, Скотом Вілтамутом та Пітером Гольде під егідою Microsoft Research (при фірмі Microsoft)

Синтаксис C# близький до С++ і Java. Мова має строгу статичну типізацію, підтримує поліморфізм, перевантаження операторів, вказівники на функції-члени класів, атрибути, події, властивості, винятки, коментарі у форматі XML. Перейнявши багато що від своїх попередників мов С++, Delphi, Модула і Smalltalk С#, спираючись на практику їхнього використання, виключає деякі моделі, що зарекомендували себе як проблематичні при розробці програмних систем, наприклад множинне спадкування класів (на відміну від C++).


3.2 Вхідні та вихідні дані



Вхідні дані: тарировочна таблиця:
Таблиця 3.1- тарировочна таблиця



20

40

60

80

100

120



-0.67

-0.4

-0.25

-0.4

1.5

1.74


-початкові значення
Вихідні дані: результат обчислення інтерполяції

3.3 Структура програмного забезпечення



Програмне забезпечення складається з класу Program в якому міститься три методи обчислення задач інтерполяції:

  • NEWTON() – обчислює праву різницю першого порядку

  • NEWTON_SECOND() – обчислює ліву різницю другого порядку

  • LAGRANGE() – обчислює метод Лагранжа

Після визначення кількості даних, вводимо значення температури та напруги, після цього вибираємо метод який нам потрібен.
Схема програми показана в додатку А


3.4 Інструкція користувача



Програма, для вирішення інтерполяції , вимагає лише запуску та вибору кроку.Інші дані, які необхідні для роботи програми, потрібно ввести вручну, такі як температуру та напругу.

Для розв’язання вводиться точка х (метод Ньютона(перша, друга форма)), та (метод Лагранжа), передбачає наступну точку за вже отриманими даними, закінчення програми.



4 ТЕСТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ




Дана таблиця експерементальних даних:


Таблиця 4.1 – експерементальні дані
Визначити значення функції в заданій точці x=2.5 використовуючи інтерполяційний поліном Лагранжа. Побудувати інтерполяційний поліном Лагранжа. Перевірити вірність побудови полінома. Побудувати графіки інтерполяційного полінома Лагранжа та таблично заданої функції.
Будуємо інтерполяційний поліном Лагранжа за табличними даними:


Виділяємо праву частину полінома, вибираємо команду меню Symbolics – Simplify, в результаті чого отримуємо :

Значення функції в заданій точці x=2.5 дорівнює:



Перевірка вірності побудови полінома:

Другий спосіб:


З
адаємо вузли інтерполяції у вигляді векторів xt та yt.

Визначаємо степінь полінома Лагранжа:


Будуємо поліном Лагранжа:


Визначаємо значення функції в точці



Перевіряємо вірність побудови полінома Лагранжа

Побудова графіків інтерполяційного полінома Лагранжа та таблично заданої функції.

5 АНАЛІЗ ОТРИМАНИХ РЕЗУЛЬТАТІВ



Проведемо запуск створеної програми для визначення інтерполяції напруги методом Лагранжа та Ньютона (праві та ліві різниці)

  • Вводимо кількість значень x або y

  • Вводимо значення X[1],X[n]

  • Вводимо значення Y[1],Y[n]

  • Вводимо значення напруги

  • Обираємо один із трьох методів

  • Отримуємо значення в точці


Результати програми показані в додатку Б

ВИСНОВКИ




В даній курсовій роботі реалізована задача “Знаходження інтерполяційного многочлена Лагранжа”. Здійснено математичний опис задачі, постановку задачі та розробку програмного пакету згідно з постановкою. Розроблено алгоритм поставленої задачі. Складено і налагоджено програму на мові C#.

У процесі налагодження було одержано працездатний пакет програм. Роботу пакету перевірено на контрольному прикладі, одержано результати, що співпадають з теоретичними.

Результат розробки оформлений у вигляді програмного проекту, що приводиться у додатку до курсової роботи.

Подальший розвиток роботи можливий у бік поліпшення зовнішньогоінтерфейсу й адаптації програми до ширшого використання.


ПЕРЕЛІК ПОСИЛАНЬ


  1. Рубан Г.Я. Теорія електричних та магнітних кіл. Курс лекцій Черкаси, 2013 р. – 110 с.

  2. Основы теории цепей [Электронный ресурс] : Учебное пособие для вузов / Под ред. В.П. Бакалова. - 4-е изд. - М. : Горячая линия - Телеком, 2013. - http://www.studentlibrary.ru/book/ISBN9785991203296.html

  3. Вержбицкий В.М. Численные методы. Линейная алгебра и нелинейные уравнения / В.М. Вержбицкий. – М: Высш. шк., 2000. – 268 с.- ISBN 5-06-003654-5 

  4. Вержбицкий В.М. Численные методы. Математический анализ и обыкновенные дифференциальные уравнения / В.М. Вержбицкий. – М: Высш. шк., 2001. – 384 с.- ISBN: 5-06-004020-8

  5. Вержбицкий В.М. Основы численных методов: Учебник для вузов.- М.:Директ-Медиа,2013.-847 с.ISBN 978-5-4458-3873-9

  6. Інтернет ресурс: Прикладная и инженерная математика. Численные методы.Интерполяция функций. Режим доступу : http://www.simumath.net/library/book.html?code=Interpol_splines

  7. Интерполяция. Методы и компьютерные технологии их реализации /

Половко А., Бутусов П.,БХВ-Петербург 2004.- 320 с.- ISBN 978-5-94157-493-3

















Додатки



Додаток А


Схема програми




Рисунок А.1 – Схема роботи конструктора програми

Додаток Б

Результати роботи програми





Рисунок Б.1 – Розрахунок завдання на курсову роботу з

(Методом Ньютона праві різниці)


Рисунок Б.2 – Розрахунок завдання на курсову роботу з

(Метод Ньютона ліві різниці)



Рисунок Б.3 – Розрахунок завдання на курсову роботу з

(Метод Лагранжа)



Рисунок Б.4 – Розрахунок (Трьома методами)


Рисунок Б.5 – Розрахунок (Трьома методами)

Додаток В


Лістинг програми




using System;
namespace Курсова

{

class Program

{

static void Main(string[] args)

{

double NEWTON(int n, double[] X, double[] Y, double x)

{

double[] X1 = new double[n];

double[] delta = new double[n];

for (int i = 0; i < n; i++)

{

X1[i] = Y[i];

}

delta[0] = X1[0];

for (int i = 0; i < n - 1; i++)

{

for (int j = 0; j < n - 1; j++)

{

X1[j] = X1[j + 1] - X1[j];

}

delta[i + 1] = X1[0];

}

double h = X[1] - X[0];

double q = (x - X[0]) / h;

double S = delta[0];

double fact = 1;

double d = 1;

for (int i = 1; i < n; i++)

{

fact = fact * i;

d = d * (q - i + 1);

S = S + (delta[i] * d) / fact;

}

return S;

}

double NEWTON_SECOND(int n, double[] X, double[] Y, double x)

{

double[] X1 = new double[n];

double[] delta = new double[n];

int n1 = n - 1;

for (int i = 0; i < n; i++)

{

X1[i] = Y[i];

}

delta[0] = X1[n1];

for (int i = 0; i <= n - 1; i++)

{

for (int j = 0; j < n1 - i; j++)

{

X1[j] = X1[j + 1] - X1[j];

}

delta[i] = X1[n1 - i];

}

double h = X[1] - X[0];

double q = (x - X[n1]) / h;

double S = delta[0];

double fact = 1;

double d = 1;

for (int i = 1; i < n; i++)

{

fact = fact * i;

d = d * (q + i - 1);

S = S + (delta[i] * d) / fact;

}

return S;

}

double LAGRANGE(int n, double[] X, double[] Y, double x)

{

double S = 0;

for (int i = 0; i < n; i++)

{

double d1 = 1;

double d2 = 1;

for (int j = 0; j < n; j++)

{

if (i != j)

{

d1 = d1 * (x - X[j]);

d2 = d2 * (X[i] - X[j]);

}

}

S = S + (d1 / d2 * Y[i]);

}

return S;
}
Console.WriteLine("Введiть кiлькiсть даних значень x або y");

int n = Convert.ToInt32(Console.ReadLine());

double[] X = new double[n];

double[] Y = new double[n];

double x = new double();

for (int i = 0; i < n; i++)

{

Console.WriteLine("Введiть значення X[{0}]", i + 1);

X[i] = Convert.ToDouble(Console.ReadLine());

}

for (int i = 0; i < n; i++)

{

Console.WriteLine("Введiть значення Y[{0}]", i + 1);

Y[i] = Convert.ToDouble(Console.ReadLine());

}

for (int i = 0; ; i++)

{

Console.WriteLine("Введiть значення точки x");

x = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("Виберiть метод \n1.Метод Ньютона(перша формула) \n2.Метод Ньютона(другий формула) \n3.Метод Лагранжа");

int swi = Convert.ToInt32(Console.ReadLine());

if (swi == 1)

{

Console.WriteLine("Значення точки y в точцi x(Метод Ньютона)=" + NEWTON(X.Length, X, Y, x));

}

else if (swi == 2)

{

Console.WriteLine("Значення точки y в точцi x(Метод Ньютона)=" + NEWTON_SECOND(X.Length, X, Y, x));
}

else if (swi == 3)

{

Console.WriteLine("Значення точки y в точцi x(Метод Лагранжа)=" + LAGRANGE(X.Length, X, Y, x));
}

else

{

Console.WriteLine("Кiнець програми");

break;

}

}
}


}

}
скачати

© Усі права захищені
написати до нас