Gauss usulining 2-bosqichiga sharh. Uchburchak matritsa bu asosiy diagonal ostida joylashgan barcha elementlar nolga teng bo'lgan matritsa.
Uchburchaklar shaklidagi boshlang'ich kengaytirilgan matritsani qisqartirish uchun quyidagi ikkita aniqlovchi xususiyatlaridan foydalanamiz:
Mulk 1. Agar matritsaning satr (ustun) ning barcha elementlariga o'zboshimchalik bilan ko'paytiriladigan va bir xil songa teng parallel qatorning (ustunning) tegishli elementlari qo'shilsa, determinant o'z qiymatini o'zgartirmaydi.
Mulk 2. Matritsaning ikkita ustunini yoki satrlarini qayta tartiblashda uning determinanti o'zgaradi, va determinantning mutloq qiymati o'zgarishsiz qoladi.
Determinantlarning bu xossalariga asoslanib, matritsani uchburchak shaklga o'tkazish algoritmini tuzamiz:
I-qatorni ko'rib chiqing (birinchisidan boshlab). Agar element i i nolga teng bo'lsa, biz matritsaning i-chi va i + 1-chi qatorlarini almashtiramiz. Bu holda aniqlovchi belgisi teskari bo'ladi. Agar 1 1 nolga teng bo'lmasa, keyingi bosqichga o'ting;
Har bir j uchun, i-chi qatordan pastda, K j \u003d a j i / a i i koeffitsientining qiymati topiladi;
Formulaga muvofiq tegishli koeffitsientlardan foydalangan holda j joriy satr ostida joylashgan barcha j elementlarning elementlarini qayta hisoblaymiz: a j k yangi. \u003d A j k -K j * a i k; Shundan so'ng biz algoritmning birinchi bosqichiga qaytamiz va i \u003d n-1 qatorga o'tgunimizcha keyingi qatorni ko'rib chiqamiz, bu erda n A matritsaning o'lchamidir.
Olingan uchburchak matritsada biz asosiy diagonali Pa i i ning barcha elementlarining mahsulotini hisoblaymiz, bu aniqlovchi bo'ladi;
Boshqacha qilib aytganda, usulning mohiyatini quyidagicha shakllantirish mumkin. Biz matritsaning barcha elementlarini asosiy diagonali noldan pastroq qilishimiz kerak. Avval biz birinchi ustunda nollarni olamiz. Buning uchun biz kerak bo'lgan songa ko'paytirilgan birinchi qatorni ketma-ket ravishda pastdagi barcha satrlardan ajratamiz (bu satrning birinchi elementida nolga teng bo'ladi). Keyin matritsaning asosiy diagonali ostidagi ikkinchi ustunda nollarni olish uchun biz ikkinchi qatorda ham xuddi shunday qilamiz. Va shu bilan biz oxirgi darajaga chiqmagunimizcha.
Ma'lumki, noma'lumlarni ketma-ket yo'q qilish usuli bo'lgan Iordaniya-Gauss usuli - bu chiziqli algebraik tenglamalar sistemasini (SLAE) echishning Gauss usulini o'zgartirishdir.
Usul elementar o'zgarishlarga asoslanadi (tizimni ekvivalentga aylantirish), bunga quyidagilar kiradi.
tizim tenglamasining ikkala tomoniga noldan boshqa raqamga ko'paytiriladigan shu tizimning boshqa tenglamasini qo'shish;
tizimdagi tenglamalarni qayta tartibga solish;
0 \u003d 0 shaklidagi tenglamalar tizimidan olib tashlash.
Gauss usulidan farqli o'laroq, har bir bosqichda bitta o'zgaruvchi barchasidan chiqarib tashlanadi, ammo bitta tenglama mavjud.
Usul bosqichi quyidagicha:
noldan boshqa koeffitsient bilan (tenglashtiruvchi element) keyingi tenglamada noma'lumni tanlang;
tanlangan tenglamani echiladigan elementga bo'lish;
tanlangan tenglamadan foydalanib, boshqa tenglamalardan hal qiluvchi element bilan noma'lumni chiqarib tashlang;
keyingi bosqichda xuddi shunga o'xshash yana bitta noma'lum barcha tenglamalardan chiqariladi, bitta tashqari;
jarayon barcha tenglamalar ishlatilgunga qadar davom etadi.
Uni quyidagi algoritmlash mumkin:
A * x \u003d b matritsa shaklida SLAE uchun (A o'lchamdagi m * n matritsasi, kvadrat bo'lishi shart emas) quyidagi jadval tuziladi:
Jadvalda r, s ≠ 0 hal qiluvchi element tanlandi, keyin r - hal qiluvchi qator, s - hal qiluvchi ustun.
Quyidagi jadvalga o'tish qoidalarga muvofiq amalga oshiriladi:
1. hal qiluvchi qatorning elementlari hisoblab chiqiladi: a "r, j \u003d a r, j / a r, s - ya'ni jadvalning r-qatori hal qiluvchi elementga bo'linadi;
2. hal qiluvchi ustunning barcha elementlari, r, s dan tashqari, bitta ga teng, nolga teng bo'ladi;
3. Ruxsat etilgan qator va ustundan tashqaridagi elementlar quyida keltirilgan formula bo'yicha hisoblanadi.
Agar ushbu formulaning hisoblagichi 2 dan 2 gacha bo'lgan matritsani aniqlashni hisoblash bilan o'xshashligini ko'rsangiz, chalkashmaslik oson.
4. Qo'lda hisoblashda oxirgi nazorat ustunidagi qiymat satrning oldingi elementlarining yig'indisi bilan taqqoslanadi. Agar qiymatlar bir-biriga mos kelmasa, xatolarni ushbu qatorda izlash kerak. Avtomatik hisob-kitoblarda boshqaruv ustunini qoldirib yuborish mumkin.
Quyidagi holatlar mumkin:
1. Istisnolar jarayonida tizim tenglamasining chap tomoni 0 ga, o'ng tomoni esa b ≠ 0 ga teng bo'ladi, bunda tizimda echim bo'lmaydi.
2. 0 \u003d 0 identifikatori olinadi - tenglama boshqalarning chiziqli birikmasidir va tizimdagi nollarni o'chirib tashlash mumkin.
3. Noma'lumlarni istisno qilish uchun barcha tenglamalardan foydalangandan so'ng, jadvalda kerakli echim mavjud yoki cheklash tizimining nomuvofiqligi ko'rsatilgan.
Biz Excel-da usulni bitta formuladan foydalangan holda dasturlashtiramiz, uni o'zgartirish juda qiyin bo'lmasligi kerak. Masalan, SLAEni hal qilish uchun
biz varaq kataklari koeffitsientlarini A1 dan D4 gacha to'ldiramiz, 1,1 \u003d 1 hal qiluvchi elementni tanlaymiz va A6 katakchasida usulning birinchi bosqichini qilamiz, bu erda Iordaniya-Gauss konversiyasining "universal" formulasini qo'yamiz:
IF (LINE ($ A $ 1) \u003d LINE (A1); A1 / $ A $ 1;
IF (COLUMN ($ A $ 1) \u003d COLUMN (A1); 0; (A1 * $ A $ 1-
INDIRECT (MANZIL (LINE (A1); COLUMN ($ A $ 1))) *
INDIRECT (ADDRESS (LINE ($ A $ 1); COLUMN (A1)))) / $ A $ 1))
Keyingi bosqichda hal qiluvchi element, masalan, 2.2 \u003d 1 (B7 katakchasi) bo'lishi mumkin. Biz faqat formulani A6 dan A11-ga nusxalashimiz kerak (usulning bosqichlarini vizual ravishda ajratish uchun bo'sh chiziqda qoldiring), formulani tahrirlash rejimiga kiring (katakka ikki marta bosing yoki uni tanlang va F2 tugmachasini bosing) va to'g'rilang (sichqonchani chegara ustiga muloyimlik bilan torting). A1 uyadan B7 gacha bo'lgan havolalar.
Albatta, siz $ A $ 1 belgilangan havolani hamma joyda havolaning dinamik manzilini tashkil etuvchi INDIRECT (CELL) shakli bilan almashtirishingiz mumkin. Aytaylik, INDIRECT (F8) va F8 katakchada foydalanuvchiga ko'rsatilgan satr va ustun raqamlari avtomatik ravishda hal qiluvchi elementning uyasi manzili yaratiladi. Keyinchalik, ushbu satr va ustun raqamlari uchun siz alohida hujayralarni taqdim etishingiz kerak bo'ladi, masalan:
Afsuski, bularning barchasi hech narsa qilmaydi - $ A $ o'rniga biz oddiygina formulada INDIRECT ($ F $ 8) ni o'rnatishga majbur bo'lamiz va formuladan nusxa ko'chirishda bir xil miqdordagi havolalarni tortib olamiz. Bundan tashqari, qo'lda kiritilgan satrlar va ustunlar raqamlari (hech bo'lmaganda rasmdagi kabi) haqiqiyligini tekshirish kerak, shuning uchun biz ob'ektlarni ko'paytirmaymiz.
Usulni biriktirilgan Excel faylining dastlabki ikkita varag'ida ko'rishingiz mumkin (2 xil misol).
Iordaniya-Gauss transformatsiyasi kabi chiziqli optimallashtirish muammolarini hal qilishning universal usuli asoslangan sodda usul. Uning tavsiflari odatda qo'rqinchli, uzoq va teoremalar bilan haddan tashqari ko'p. Keling, oddiy tavsif berishga harakat qilamiz va Excel-da hisoblash uchun mos bo'lgan algoritmni ishlab chiqamiz. Aslida, soddalashtirish usuli allaqachon standart plaginni tahlil qilish paketiga kiritilgan va siz uni "qo'lda" dasturlashingiz shart emas, shuning uchun bizning kodimiz ma'no-mazmunga ega.
Birinchidan, minimal nazariya.
Agar SLAE ustunining vektorlari chiziqli mustaqil bo'lsa, tegishli o'zgaruvchilar bo'ladi asosiyva qolganlari - ozod. Masalan, SLAUda
Do'stlaringiz bilan baham: |