3-LABORATORIYA ISHI
MAVZU: Matritsalarni ko’paytirish dasturi. Amallar tartibini baholash.
Ishdan maqsad: aniq shartlar asosida matritsalarni ko’paytirishni o’rganish, matritsalarni ko’paytirish uchun amallar tartibini tuzish.
Nazariy qism
Ushbu laboratoriya ishida matritsalarni ko’paytirish algoritmlarini ko’rib chiqamiz va uning C dasturlash tilidagi kodini keltiramiz.
To’g’ri burchakli matritsalarni ko’paytirishda birinchi matritsaning ustunlari soni ikkinchi matritsaning satrlari soniga teng bo’lishi lozim (bunday matritsalar haqida ularning formasi mos tushadi deyiladi), ya’ni ularning o’lchami quyidagicha bo’lishi lozim: A[m,n] matritsa, B[n,q] matritsa.
Ko’paytirish natijasida C[m, q] matritsa hosil bo’ladi:
Elementlar quyidagi formula asosida topiladi:
C dasturlash tilida matritsalarni ko’paytirish algoritmi quyidagi tarzda ifodalanadi:
1
2
3
4
5
6
7
|
for(i = 0; i < m; i++)
for(j = 0; j < q; j++)
{
C[i][j] = 0;
for(k = 0; k < n; k++)
C[i][j] += A[i][k] * B[k][j];
}
|
1-misol. AB ni hisoblang. Bunda , .
Yechilishi. Bunda A=A3×2 va B=B2×2 bo’lganligi sababli, ko’paytirish mumkin va ko’paytirish natijasidagi matritsa C=C3×2 bo’ladi, va uning ko’rinishi:
C matritsa elementlarini hisoblaymiz:
c11=a11⋅b11+a12⋅b21=1⋅1+(−1)⋅2=−1c11=a11⋅b11+a12⋅b21=1⋅1+(−1)⋅2=−1
c12=a11⋅b12+a12⋅b22=1⋅1+(−1)⋅0=1c12=a11⋅b12+a12⋅b22=1⋅1+(−1)⋅0=1
c21=a21⋅b11+a22⋅b21=2⋅1+0⋅2=2c21=a21⋅b11+a22⋅b21=2⋅1+0⋅2=2
c22=a21⋅b12+a22⋅b22=2⋅1+0⋅0=2c22=a21⋅b12+a22⋅b22=2⋅1+0⋅0=2
c31=a31⋅b11+a32⋅b21=3⋅1+0⋅2=3c31=a31⋅b11+a32⋅b21=3⋅1+0⋅2=3
c32=a31⋅b12+a32⋅b22=3⋅1+0⋅0=3c32=a31⋅b12+a32⋅b22=3⋅1+0⋅0=3
Shunday qilib, .
Ko’paytirishni ixchamroq ko’rinishda tasvirlaymiz:
Endilikda D=BA=B2×2⋅A3×2 ko’paytmani topamiz. B (ko’payuvchi) matritsaning ustunlari soni A (ko’paytuvchi) matritsaning satrlari soniga mos tushmaydi, shu sababli ko’paytirishni amalga oshirishni iloji yo’q. bu tartibda matritsalarni ko’paytirish mumkin emas.
Natija. . Teskari tartibda matritsalarni ko’paytirish mumkin emas, chunki B matritsaning ustunlari soni A matritsaning satrlari soniga mos kelmaydi.
Matritsalarni ko’paytirish xususiyatlari:
Assotsiativlik (A⋅B)⋅C=A⋅(B⋅C)
Ko’paytirish bo’yicha assotsiativlik (μ⋅A)⋅B=μ⋅(A⋅B)
Distributivlik A⋅(B+C)=A⋅B+A⋅C, (A+B)⋅C=A⋅C+B⋅C
Bir o’lchovli massivga ko’paytirish Em⋅Am×n=Am×n⋅En=Am×n
Umumiy holda matritsani ko’paytirish kommutativ emas, ya’ni AB≠BA.
3. Laboratoriya ishiga topshiriqlar
Ikkita matritsani ko’paytiring.
Ikkita A va B matritsalar berilgan:
, .
|
|
,
|
|
|
|
3)
|
|
4)
|
|
5)
|
|
6)
6)
|
|
7)
|
|
8)
9)
10)
11)
12)
13)
14)
15)
|
|
C = A · B matritsaning qiymatini toping.
4. Hisobot mazmuni:
Ishning nomi (mavzu).
Ishning maqsadi.
Qisqacha nazariy qism.
Bajarilgan vazifa (masalaning qo’yilishi, yechish algoritmi, dasturi).
Laborotoriya ishini bajarish bo’yicha xulosa (xulosalar).
Nazariy savollarga javob.
Do'stlaringiz bilan baham: |