Muhammad al-xorazmiy nomidagi toshkent axborot texnalogiyalari universiteti nurafshon filiali

O‘ZBEKISTON RESPUBLIKASI RAQAMLI TEXNOLOGIYALAR VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNALOGIYALARI UNIVERSITETI NURAFSHON FILIALI
_________________kafedrasi
Algoritmlarni loyihalash fani bo‘yicha
Referat
Mavzu: Algebraik va transtendent tenglamalarni taqribiy yechish usullarini yaqinlashish tezligi bo’yicha baholash.
Bajardi:211-22 guruh talabasi
Imomov Amirsaid
Tekshirdi: Vafoyev S.S
Toshkent – 2024
Reja:
Algebraik va transsendent tenglamalarni taqribiy yechish usullari.
Samararadorligini baholash.
Iteratsion skillar
Algebraik tenglama - P(x1 ,x2 ,…,xn )=0 ko`rinishida yoziladi. Bu erda P - x1 ,x2 ,…,xn noma’lum o'zgaruvchilardan iborat ko`phad. Algebraik tenglamaning darajasi P ko`phadning darajasiga teng bo`ladi. x1 ,x2 ,…,xn o'zgaruvchilarning algebraik tenglamaga nol qiymat beruvchi qiymatlari ushbu algebraik tenglamaning ildizlari deb ataladi. Transendent tenglama- transendent funktsiyalarni (eksponental, logarifmik, trigonometrik va teskari trigonometrik funktsiyalar) o'z ichiga olgan tenglama. Masalan, sin x + lg x = x, 2x - lg x = arccos x.
Transendent tenglama- transendent funktsiyalarni (eksponental, logarifmik, trigonometrik va teskari trigonometrik funktsiyalar) o'z ichiga olgan tenglama.
3.1. Tenglama ildizini ajratish
Amaliyotda, ba’zi masalalarda
f(x)=0 (3.1)
ko‘rinishdagi bir noma’lumli chiziqsiz tenglamalarni yechishga to‘g‘ri keladi. Bunda f(x) [a,b] oraliqda aniqlangan funktsiya bo‘lib, f(t)=0 bo‘lsa, x=t ni (2.1) tenglamaning yechimi-ildizi deyiladi. Tenglamaning aniq yechimini topish qiyin bo‘lgan hollarda uning taqribiy yechimini topish to‘g‘ri keladi, bu ikki bosqichga bo‘linadi.
1) Yechimni ajratish(yakkalash), ya’ni yagona yechim yotgan intervalni aniqlash;
2) Taqribiy yechimni topilgan intervalda berilgan aniqlikda topish.
Tenglamaning yagona yechimi yotgan oraliqni aniqlash uchun quyidagi teoremadan foydalaniladi.
3.1-teorema . Aytaylik,
1) f(x) funktsiya [a,b] kesmada uzluksiz va (a,b) intervalda hosilaga ega bo‘lsin;
2) f(a).f(b)<0, ya’ni f(x) funktsiya kesmaning chetlarida har xil ishoraga ega bo‘lsin;
3) fґ(x) hosila (a,v) intervalda o‘z ishorasini saqlasin.
U holda, (2.1) tenglama [a,b] oraliqda yagona yechimga ega bo‘ladi.
3.2. Transtsendent tenglama ildizini ajratish
1. Teoremadagi [a,b] kesmani topishda ba’zan grafik usuldan foydalaniladi. Bu usulga asosan (3.1) tenglamaning ildizini ajratish uchun y=f(x) funktsiyaning [a,b] oraliqdagi grafigini chizamiz. Bu grafikning OX o‘qi bilan kesishish nuqtasining abstsissasi (3.1) tenglamaning yechimi bo‘ladi. y=f(x) funktsiyani grafigini chizish qiyin bo‘lsa, f(x)=0 tenglamani grafigini chizish qulay bo‘lgan funktsiyalarga ajratib
f1(x)=f2(x) (3.2)
Bu grafiklar kesishish nuqtasining abstsissasi x=t f(t)=0 tenglamaning yechimi bo‘ladi. Bu yechimni o‘z ichiga oluvchi [a,b] kesmani yuqoridagi teorema shartlarining bajarilishini tekshirish asosida tanlaymiz.k o‘rinishga keltiramiz va y=f1(x), y=f2(x) funktsiyalarning grafiklarini chizamiz. Bu grafiklar kesishish nuqtasining abstsissasi x=t f(t)=0 tenglamaning yechimi bo‘ladi. Bu yechimni o‘z ichiga oluvchi [a,b] kesmani yuqoridagi teorema shartlarining bajarilishini tekshirish asosida tanlaymiz.
3.1-masala. ex -10x -2=0 tenglamaning yagona ildizi yotgan oraliq topilsin.
Yechish. Tenglamani ex =10x+2
ko‘rinishda yozamiz. So‘ngra
y=ex , y=10x+2
funktsiyalarning grafiklarini (3.1-rasm) chizamiz. 3.1-rasm
dan ko‘rinadiki,
ex-10x-2=0
tenglama yagona yechimini o‘z ichiga olgan oraliq [-1,0] bo‘ladi. Tanlangan [-1,0] kesmada teorema shartlarining bajarilishini tekshiramiz.
f(x)=ex-10x-2 funktsiya [-1,0] oraliqda uzluksiz, (-1,0) intervalda f'(x)=ex-10 hosilaga ega.
2) f(-1)=e-1-10(-1)-2»3. 368>0, f(0)=e0 –10 ·0-2=-1<0
bundan: f(-1) ·f(0)<0
3) xÎ(-1,0) bo‘lganda f'(x)=ex -10<0
Demak, 3.1-teoremaning barcha shartlari [-1,0] oraliqda bajariladi.
2. Demak, tenglama [-1,0] oraliqda yagona yechimga ega ekan. Agar f(x) tenglama ildizi berilgan (a,b) oraliqda bir nechta bo‘lsa, h qadam bilan x1=a, x2=x1+h nuqtalarni to‘ib, (x1,x2) oraliqda f(x1)f(x2)<0 shartni tekshiramiz, bajarilsa bu oraliqda ildiz bor, aks holda yana h qadamni qo‘shish bilan o‘nga (x2, x2+h) oraliqqa o‘tamiz va unda teorema
f(x2)f(x2+h)<0 shartni tekshiramiz va h.k. Bu jarayon xn>b bo‘lguncha davom etadi.
Demak ildiz yotgan Kesma chegarasini ixtiyoriy tanlanganda ham bu Kesmada yotgan barcha ildizlarning chegaralarini h aniqlik bilan topish mumkin bo‘lgan dastur tuzish mumkin ekan. Bu dasturni quyidagicha tuzamiz.
Bu qoida asosida (-1,0) oraliqdagi ex -10x-2=0 tenglama ildizlarini hisoblashni blok sxemasi(2.1-sakl)ni va dasturini tuzamiz.
C++dagi kodi
#include
using namespace std;
float f1(float a)
{
return (exp(a) - 10*a-2);
}
float a, b, h, x1, x2, x;
int i = 1;
int main()
{
cout <<"Ildiz yotgan oraliqlarning chap chegarasi - a= ";
cin >> a;
cout <<"Ildiz yotgan oraliqlarning o'ng chegarasi - b= ";
cin >> b;
cout <<"Ildiz yotgan oraliqlarni izlash qadami - h= ";
cin >> h;
x1 = a;
a1:
x2 = x1 + h;
if(x2 > b)
goto a4;
if(f1(x1)*f1(x2) > 0)
goto a3;
cout < cout < i++;
a3:
x1 = x2;
goto a1;
a4:
return 0;
}
Natija:
2.3. Algebraik tenglama ildizlari yotgan oraliqlarni aniqlash.
Aytaylik, bizga
f(x)= a 0 xn+ a 1 xn-1 +…+ a n-1 x+ a n=0 (3.3)
n-darajali algebraik tenglama berilgan bo‘lsin. Bu tenglama haqiqiy va kom’leks ildizlarga ega bo‘lishi mumkin. Biz (2.3) tenglamaning haqiqiy ildizlar sonini undagi koeffitsientlar ishoralarining almashinish soniga qarab aniqlaymiz.
Dekart(Rene Dekart fransuz matematigi, 1506-1650) qoidasi: Berilgan algebraik tenglama koeffitsientlari ketma-ketligida ishora almashinishlar soni qancha bo‘lsa (tenglamada nolga teng koeffitsientlar e’tiborga olinmaydi), tenglamaning shuncha musbat ildizi mavjud yoki musbat ildizlar soni ishora almashinishlar sonidan juft songa kamdir.
Masalan: x5-7x3+ 4x2-5=0
algebraik tenglama koeffitsientlari +1, -7, + 4, -5 bo‘lganidan ishoralarining almashinishlar soniga asosan tenglama musbat ildizlari soni 3 ga yoki 1 ga teng.
1. Algebraik tenglama ildizlarini ajratishda quyidagi teorema va qoidalardan foydalanamiz.
3.2-teorema. Agar
A=max{ , , ,…, }, A1= max{ , , ,…, }
bo‘lsa, (2.3) tenglamaning barcha ildizlari
r= <ú xï<1+A=R
halqada yotadi.
Musbat ildizlar chegarasi: r< x+ Manfiy ildizlar chegarasi: -R< x- < -r
Agar (2.3) tenglamani
f1(x)=xn f(1/x)=0
f2(x)= f(- x)=0
f3(x)=xn f(- 1/x)=0
ko‘rinishga keltirib, mos ravishda bu tenglamalarning topilgan musbat ildizlarining yuqori chegaralari R1 , R2 , R3 bo‘lsa, (2.3) tenglama ildizlarining chegaralarini quyidagicha aniqlaymiz:
1/R1< x+ 2 va -R2< x - < - 1/R3
3.2-masala. 2x3-9x2-60x+1=0 tenglama ildizlari yotgan oralikning chegarasini aniqlang.
2.2- teorema qoidasi asosida
A=max{ , , ,…, }= max{ , , }=30
A1= max{ , , ,…, }= max{ , , }=60
r= <ú xï<1+30=R, r=0.016, R=31
Musbat ildizlar chegarasi: 0.016< x+ <31
Manfiy ildizlar chegarasi: -31< x - < -0.016
Barcha ildizlar chegarasi: -31< x <3
2. Koeffitsentlarining ishorasi har xil bo‘lgan algebraik tenglamalar musbat ildizlarining yuqori chegarasini topishda quyidagi Jozif Lui Lagranj fransuz matematigi (1735-1813) teoremasidan foydalanamiz:
3.3- teorema. (3.3) tenglamada a0>0 va ak (k³1 –tartib raqami) – birinchi manfiy koeffitsient bo‘lib, B manfiy koeffitsientlar ichida modul bo‘yicha eng kattasi bo‘lsa, musbat ildizla rining yuqori chegarasi
(3.4)
formula bilan topiladi.
Berilgan (2.3) tenglamaning manfiy ildizlarining quyi chegarasini aniqlash uchun berilgan tenglamani
f(-x)=0 (3.5)
ko‘rinishga keltirib, hosil bo‘lgan (3.5) tenglamaga Lagranj teoremasini qo‘llaymiz, topilgan musbat ildizlarining yuqori chegarasi R1 bo‘lsa, berilgan (3.3) tenglama manfiy ildizlarining quyi chegarasi uchun -R1 deb olamiz. Demak, berilgan (3.3) tenglamaning barcha haqiqiy ildizlarining chegarasi:-R1Masaladagi berilganlar asosida ko’rsatilgan usulda hisoblashning algoritmini 2.4-jadvalda beramiz
3.2-masala. 2x3-9x2-60x+1=0 tenglama ildizlari yotgan oralikning chegarasini aniqlang.
Yechish. Berilgan tenglamadan a0=2, B=60, k(a1=-9)=1 bo‘lgani uchun Lagranj formulasiga asosan
Bu tenglama musbat ildizlarining yuqori chegarasi R=31.
Endi berilgan tenglamaning manfiy ildizlarining quyi chegarasini topamiz.
F(-x)= 2(-x)3-9(-x)2-60(-x)+1=0
f(-x)= 2x3+9x2-60x-1=0
tenglamada a0=2, B=60, k=2 bo‘lgani uchun bu tenglama musbat ildizlarining yuqori chegarasi
bo‘ladi. Bu berilgan tenglama uchun manfiy ildizlarning quyi chegarasi bo‘lib uni R1=-6.77 deb olamiz. Demak, berilgan (3.3) tenglamaning barcha haqiqiy ildizlarining chegarasi:
[-6.77, 31 ] bo‘ladi.
Agar berilgan (3.3) tenglamaning barcha koeffitsientlari musbat bo‘lsa, ildizlarining chegarasini
m<ú xïtengsizlikka asosan aniqlaymiz, bunda
m=min(a k / a k-1), M=max(a k / a k-1), 1Shuningdek, (2.3) tenglamaning barcha koeffitsientlari musbat bo‘lib:
a) a0> a1>…> a n bo‘lsa, ildizlar ïxï>1 doiradan tashqarida yotadi;
b) a0< a1<…< a n bo‘lsa, ildizlar ïxï<1 doira ichida yotadi.
4. Toq darajali algebraik tenglama hech bo‘lmaganda bitta ildizga ega bo‘ladi.
Algebraik tenglamaning barcha koeffitsientlari musbat bo‘lganda ildiz yotgan oraliqni hisoblash dasturini tuzamiz.
Algebraik tenglamani yechishning eng muhim usullaridan biri afzalligi har bir qadamda bajariladigan operatsiyalar bir xilligi bo’lib, EHM lar uchun iterativ algaritmlarga asoslangan dasturlar tuzish ishini juda osonlashtiradi. Usulning mohiyati quyidagidan iborat. Ushbu tenglama berilgan bo’lsin:
f (x) = 0 (1.1)
Bu yerda f (x) -uzluksiz funksiya. Uning haqiqiy ildizlarini topish talab qilinadi. Berilgan (1.1) tenglamani unga teng kuchli
X=φ (x) (1.2)
Tenglama bilan almashtiramiz. Biror usul bilan bu tenglamaning ya’ni grafik yoki analitik usullardan foydalanib ildizi yakkalangan [a,b] oraliq (ya’ni bu tenglamaning faqat bitta ildizini o’z ichiga olgan oraliq) ajratilgan bo’lib, 0 x bu oraliqning istalgan nuqtasi bo’lsin. Uni ildizining nolinchi yaqinlashishi deb ataymiz. Navbatdagi x1 yaqinlashishini topish uchun tenglamaning o’ng tomoniga x ning o’rniga x0 qiymatni qo’yamiz, ya’ni:
x1= φ (x0)
Keyingi yaqinlashishlar ushbu ketma-ketlik bo’yicha amalga oshiriladi.
x2= φ (x1)
x3= φ (x2)
x4= φ (x3)
…………
xn= φ (xn-1)
1>3>31>0>0>0>0>
|