Розв’язування нелінійних рівнянь.

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

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

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

Рік:
2015
Тип роботи:
Лабораторна робота
Предмет:
Чисельні методи в інформатиці
Група:
КН-3

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Національний університет Львівська політехніка Кафедра ПЗ До лабораторної роботи № 1 З курсу “Чисельні методи” На тему: “ Розв’язування нелінійних рівнянь ”. Виконав: Студент групи КН-3 Львів – 2008 Тема: Розв’язування нелінійних рівнянь. Мета: Оволодіти засобами розв’язування нелінійних рівнянь за допомогою різних методів .  Використовуючи засоби пакету Mathematika відокремити корені рівняння графічно та уточнити їх з точністю до 10-3 наступними методами: - методом дихотомії; - методом простих ітерацій; - методом Ньютона. Варіанти завдань:   В процесі розроблення лабораторної роботи було розроблено наступний програмний продукт:  //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" #include "Math.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" //Описуэмо константи #define A -20 #define B 20 #define E 0.001 double rivnjanna(double x); double NevTon(); double Dyhotomiya(); double SimplIter(); TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //функція повернення рівняння double rivnjanna(double x) { return x*x*x+7*(x*x)+5*x-10; } //Беремо похыдну выд нашого рывняння double pochidna(double x) { return 3*x*x+14*x+5; } //методо Ньютона double NevTon() { double Result,x, temp; x = B; while(1) { if((temp = pochidna(x)) == 0) {Result = x;} else {Result = x - rivnjanna(x) / pochidna(x);} temp = rivnjanna(Result); if(temp < E && temp > -E) {break;} x = Result; } return Result; } //Метод Дихотомії double Dyhotomiya() { int i; double Result,a = A, b = B; while (b - a > E) { Result = (a + b)/2.0; if(rivnjanna(b)*rivnjanna(Result)<0) a=Result; else b=Result; } return Result; } //методом простих ітерацій double SimplIter() { double Result,x, temp; x = B; while(1) { Result = x - 0.00025 * rivnjanna(x);; temp = rivnjanna(Result); if(temp < E && temp > -E) {break;} x = Result; } return Result; } //--------------------------------------------------------------------------- void __fastcall TForm1::BitBtn1Click(TObject *Sender) { Edit1->Text=NevTon(); } //--------------------------------------------------------------------------- void __fastcall TForm1::BitBtn2Click(TObject *Sender) { Edit2->Text=Dyhotomiya(); } //--------------------------------------------------------------------------- void __fastcall TForm1::BitBtn3Click(TObject *Sender) { Edit3->Text=SimplIter(); } //--------------------------------------------------------------------------- void __fastcall TForm1::BitBtn4Click(TObject *Sender) { Close(); } //---------------------------------------------------------------------------  Висновок: На цих лабораторній роботі я оволодів засобами розв’язування нелінійних рівнянь за допомогою різних методів .
Антиботан аватар за замовчуванням

2015

Коментарі

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

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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