Mavzu: Algebraik va transtsendent tenglamalarni yechishda oraliqni teng ikkiga bo‘lish, iteratsiya usullari. Tenglamalarni yechishda vatarlar va Nyuton usullari. Yaqinlashish tezligi Maqsad


Laboratoriya topshiriqlari va ish davomida ishlab chiqiladigan dasturning to‘liq namunasi


Download 68.18 Kb.
bet3/3
Sana17.06.2023
Hajmi68.18 Kb.
#1533490
1   2   3
Bog'liq
1-laboratoriya

Laboratoriya topshiriqlari va
ish davomida ishlab chiqiladigan dasturning to‘liq namunasi.


Laboratoriya topshirig‘i. Berilgan masalani yechish uchun algoritm va mos dasturni ishlab chiqing. Algoritmni blok-sxema shaklida ifodalang va zarur bo‘lsa algoritmik dekompozitsiyani amalga oshiring. Zarur hollarda qism masalalarni yechish uchun qism dasturlardan foydalaning.
Dastur namunasi. Biz quyida namuna sifatida transensent tenglamalarni taqribiy yechish bilan bog‘liq masalani qaraymiz. Masalani taqribiy usullaridan bo’lgan ketm-ket yaqinnlashish va kesmani teng ikkiga bo’lish usuli yordamida yechish algoritmini (psevdokod shaklida) ishlab chiqamiz va uni C++ tilidagi dasturga o‘tkazamiz.
Labotoriya topshirig‘i sharti. ex-10x-2=0 tenglamaning =0.01 aniqlikdagi taqribiy ildizi topilsin.
Masaladagi berilganlar asosida ko‘rsatilgan usulda hisoblashning algoritmini 2.2-jadvalda beramiz :
2.2- jadval

Berilganlar

Belgilashlar

matn bo‘yicha

dastur bo‘yicha

Tenglama funksiyasi

f(x)=ex-10x-2

FNF(x)=EXP(X)-10*X -2

Ildiz yotgan soha

a=-1, b=0

a=-1, b=0

Kesmani bo‘linish qadami va aniqlikda

H=0.1, =0.01

H=0.1: E=0.01

Ildiz yotgan kesma

(x1, x2)

(x1, x2)

Ildiz yotgan kesmani aniqlash sharti

f(x1f(x2)<0

fnf(x1)*fnf(x2)<0

kesmani teng ikkiga bo‘lish va ildiz yotgan kesmani aniqlash

t =(x1+x2)/2 va
(t, x2) da f(t)·f(x2)<0

X=(X1+X3)/2
fnf(x)*fnf(x2)<0

Ildizga yaqinlashish sharti

t –x2<

ABS(t-x2)<=E yoki FNF(X)<=E

#include


using namespace std;

float f1(float x)


{
return exp(x)-10*x-2;
}
float a, b ,h, EPS, x1, x2, x3, x4, x;
int i = 1;
int main()
{
cout <<"Ildiz yotgan oraliq chagaralarini kiriting (a,b)= ";
cin >> a;
cin >> b;
cout <<"Aniqlik E ni kiriting = ";
cin >> EPS;
h = 0.1;
x1 = a;

a1:
x2=x1+h; x3=x1; x4=x2;
if(x2 > b)
goto a6;
if(f1(x1)*f1(x2) > 0)
goto a5;
a2:
x = (x3+x4)/2;
if(f1(x) < EPS)
goto a4;
if(f1(x)*f1(x3) < 0)
goto a3;
x3 = x;
goto a4;
a3:
x4 = x;
goto a2;
a4:
cout <<"Ildiz yotgan oraliq va ildiz\n";
cout << setprecision(4)<Nazorat savollar
1. Kesmani teng ikkiga bo‘lish algoritmi qulay jihatlari?
2. Tenglamalarni taqribiy yechish usullari
Download 68.18 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling