Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти та науки, молоді і спорту України
Національний університет «Львівська політехніка»
Звіт з курсу “Комп’ютерні методи дослідження систем керування”
«Методи уточнення коренів нелінійних рівнянь»
Варіант 2
Завдання
Метод
Вхідні дані
Метод поділу ділянки навпіл з пошуком ділянки локалізації. x∈[0,1; 3]
Змінні та пояснення, що використовувалися в програмі
x – аргумент функції;fx – значення функції f(x);fa – значення функції f(a);fb – значення функції f(b);a, b - проміжокh - крок
Текст програми:
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "math.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner){}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double x, fx, fa, fb, a=0.1, b=3, h=00.1, e=0.00000001;
b=a+h;
fa=log(a)+sin(a/4);
fb=log(b)+sin(b/4);
if(fabs(fb)>fabs(fa) && fb*fa>0)
h=-1*h;
while (fa*fb>0)
{
a=b;
b=a+h;
fa=log(a)+sin(a/4);
fb=log(b)+sin(b/4);
}
do
{
fa=log(a)+sin(a/4);
fb=log(b)+sin(b/4);
x=a-fa*(b-a)/(fb-fa);
fx=log(x)+sin(x/4);
if(x*fa>0)
a=x;
else
b=x;
}
while(fabs(fx)>e);
Memo1->Lines->Clear();
Memo1->Lines->Add(x);
double p=0.816512274225845;
double y=log(p)+sin(p/4);
Memo1->Lines->Add(y);
}
Результати роботи програми
/