Guruh
|
Fan nomi
|
F.I.SH
|
653-18 guruh
|
IT/Mutaxassislik tanlov fani
(MATLABda dasturlash)
|
Qodirov Ahrorjon
|
Mavzu: Matlab tizimida chizikli algebraik tenglamalar sistemasini yechish
usullari.
Ishdan maqsad: Matlab haqida malumot, matlab versiyalari va vazefalari bilan tanishish, matlab dasturida oddiy hisolashlar.
Chiziqli tenglamalar tizimini yechishning turli xil usullari mavjud. Biz ularni quyidagicha tasniflashimiz mumkin:
1) To'g'ridan-to'g'ri usullar
Ushbu turkumda biz mavjud qatorlarni qisqartirish algoritmlarini sanab o'tishimiz mumkin. Ushbu algoritmlarning aksariyati C++ kabi asosiy dasturlash tilida osonlik bilan dasturlashtirilishi mumkin. Ularni MATLABda ham dasturlash mumkin va turli xil dasturiy kutubxonalar mavjud bo'lib, ularda chiziqli tizimlarni yechish uchun ajoyib dasturlar va funksiyalar mavjud.
Ushbu usullar haqida tasavvurga ega bo'lish uchun biz yuqori uchburchaklash texnikasidan foydalangan holda juda oddiy misolni ko'rib chiqamiz.
A x = B bilan tizimni ko'rib chiqing
birinchi qadam sifatida biz B ni A ning to'rtinchi ustuniga qo'yib, " to'ldirilgan matritsa " ni hosil qilamiz. Keyin qolgan ikkitadan birinchi tenglamaning tegishli karralarini qo'shishni (yoki ayirishni) davom ettiramiz, shunda raqamlar 2,1 va 3,1 matritsa nolga aylanadi. Biz faqat tenglikning asosiy xususiyatlarini esga olishimiz kerak, bu algebraik manipulyatsiyaning bunday turi tizimning ildizlarini o'zgartirmasligiga o'zimizni ishontirishimiz kerak. Boshqacha qilib aytganda, ushbu qator operatsiyalaridan keyin olingan tizim asl tizim bilan bir xil ildizlarga ega, biz aytganimizdek, u ekvivalentdir. Koeffitsient matritsasi uchburchak bo'lguncha qatorni qisqartirishni davom ettiramiz.
Endi orqaga o'zgartirishni amalga oshirish orqali tizimni osongina hal qilishimiz mumkin. Biz nimani nazarda tutmoqchimiz: birinchi navbatda olish uchun x 3 uchun oxirgi tenglamani yeching
X3 = 3/7,
keyin x2 ni olish uchun ikkinchi tenglamadan foydalaning
x2 = (2/7) * ( 3/2 – (-7/2) * x3 ) = 6/7,
va nihoyat x1 ni olish uchun birinchi tenglamadan foydalaning
x1 = (1/2) * ( 1 – (-1) * x2 – 3 * x3 = 2/7.
Yuqori uchburchak matritsaning burchak elementlari (diagonaldagilar) aylanma elementlar deb ataladi. Ushbu elementlarning mutlaq qiymati qatorning boshqa elementlariga nisbatan qanchalik katta bo'lsa, yechim shunchalik barqaror bo'ladi. Ba'zi yechim usullari maksimal aylanish elementlariga erishish uchun tenglamalar tartibini almashtiradi. Chiziqli tenglamalar tizimlarini echish uchun mo'ljallangan har qanday jiddiy dastur uchun aylanish haqiqatda tavsiya etiladi.
To'liqlik uchun biz tizimlarni hal qilish uchun determinantlardan foydalanadigan Kramer qoidasini eslatib o'tishimiz kerak. Determinant - kvadrat matritsa bilan bog'langan son. Biz bu yerda determinantlarni qo'lda hisoblashni o'rganmaymiz, lekin MATLAB det(a) buyrug'i yordamida matritsaning determinantini beradi. Quyidagi misolga qarang:
Kramer qoidasi A x = B sistemaning yechimini quyidagicha hosil qiladi:
Birinchi noma'lum tomonidan berilgan x1 = det ( A1 ) / det ( A )
Ikkinchisi tomonidan x2 = det( A2 ) / det( A ),
Uchinchisi tomonidan x3 = det( A3 ) / det( A ),
Va hokazo…. Bu erda A1 - A ning birinchi ustunini B ga almashtirish natijasida olingan matritsa, A2 - A ning ikkinchi ustunini B ga almashtirish natijasida olingan matritsa va hokazo. Agar det( A ) nolga yoki nolga yaqin bo'lsa, muammoga duch kelishimizni tushunish oson. Yaxshi qo'yilgan muhandislik muammolari bunday "yomon konditsionerlik" dan qochadi.
Do'stlaringiz bilan baham: |