Toshkent 2023 7-variant. Matritsani matritsaga ko’paytirish


Download 20.56 Kb.
Sana23.11.2023
Hajmi20.56 Kb.
#1795107
Bog'liq
1-amaliy


MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALAR UNIVERSITETI


1-AMALIY ISH


Guruh: SWD002
Bajardi: Odombayev Farrux
Tekshirdi: Sharipov Bahodir


Toshkent 2023
7-variant.
Matritsani matritsaga ko’paytirish.

Matritsani matritsaga ko’paytirish uchun birinchi matritsaning satr elementlari soni ikkinchisining ustun elementlari soniga teng bo’lishi talab qilinadi. Boshqacha qilib aytganda birinchi matritsaning ustunlari soni ikkinchi matritsaning satrlari soniga teng bo’lishi kerak, aks holda bunday matritsalarni bir-biriga ko’paytirib bo’lmaydi. Ularni bir-biriga ko’paytirish uchun:


- birinchi matritsa birinchi sart elementlarini ikkichi matritsaning birinchi mos ustun elementlariga ko’paytirish va natijalarni qo’shib, hosil qilinadigan yangi matritsaning birinchi satr va birinchi ustun elementi hosil qilinadi;
- birinchi matritsa birinchi sart elementlarini ikkichi matritsaning ikkinchi mos ustun elementlariga ko’paytirish va natijalarni qo’shib, hosil qilinadigan yangi matritsaning birinchi satr va ikkinchi ustun elementi hosil qilinadi va jarayon shu tariqa davom ettiriladi.
Qisqacha qilib aytganda yangi cij matritsaning har bir elementi birinchi matritsaning i – satr elementlarini ikkinchi matritsaning j – ustun elementlariga ko’paytirib, natijalarini qo’shishdan hosil qilinadi.
# Ikki a va b matrisalarni ko'paytirish

n = int(input("a matritsaning satrlari soni = "))


k = int(input("a matritsaning ustunlari soni = "))
t = int(input("b matritsaning satrlari soni = "))
m = int(input("b matritsaning ustunlati soni = "))
while k != t:

print("Xato yuz berdi:/n/


a matritsaning satr elementlari soni - B matritsaning ustun elementlari soniga teng bo‘lishi kerak!/n/
Iltimos, b matritsaning satr va ustunlar sonini qaytadan kiriting!")
n = int(input(f"a matritsaning ustunlari sonini kiriting, t = "))

m = int(input(f"b matritsaning satrlari sonini kiriting, m = "))


# a matritsa elementlarini 0 ga tenglash

a=[]
for i in range(n):


a.append([0]*k)
print(a) # tekshirish uchun
# b matritsa elementlarini 0 ga tenglash

b=[]
for i in range(k):


b.append([0]*m)
print(b) # tekshirish uchun
# Yaratiladigan c matritsa elementlarini 0 ga tenglash

c=[]
for i in range(n):


c.append([0]*m)
print(c) # tekshirish uchun
# a matritsa elementlarini kiritish

for i in range(n):


for j in range(k):
print('a[', i, ',', j, ']=', end = ' ')
a[i][j] = int(input())
print(a) # tekshirish uchun
# b matritsa elementlarini kiritish

for i in range(k):


for j in range(m):
print('b[', i, ',', j, ']=', end = ' ')
b[i][j] = int(input())
print(b) # tekshirish uchun
# Hisoblash bloki

for i in range(n):


for j in range(m):
s=0
for l in range(k):
s=s+a[i][l]*b[l][j]
c[i][j]qs
print(c)

Matritsalarni ko’paytirishning ikkinchi usuli bilan tanishib o’taylik. Bu holda hisoblash bloki bir xil bo’lib, matritsa elementlarini append() metodidan foydalanilgan. Shuningdek, birinchi matritsa satr elementlari soni (ya’ni ustunlari soni) ikkinchi matritsaning ustun elementlari soni (satrlar soni)ga teng bo’lishi tekshirilmagan.


# Ikki a va b matrisalarni ko'paytirish II usul

n=int(input('a Satrlar sonini kiriting - '))


k=int(input('a Ustunlar sonini kiriting - '))
m=int(input('b Ustunlar sonini kiriting - '))
# Yaratiladigan c matritsa elementlarini 0 ga tenglash

C=[]
for i in range(n):


print(c) # tekshirish uchun
c.append([0]*m)
# a matritsa elementlarini kiritish
a = []
for i in range(n):
a1=[]
for j in range(k):
print('a[', i, ',', j, ']=', end = ' ')
a1.append(int(input()))
a.append(a1)
# b matritsa elementlarini kiritish

b = []
for i in range(k):


b1q[]
for j in range(m):
print('a[', i, ',', j, ']=', end = ' ')
b1.append(int(input()))
b.append(b1)
# asosiy hisoblash bloki

for i in range(n):


for j in range(m):
s=0
for l in range(k):
s=s+a[i][l]*b[l][j]
c[i][j]=s

print(c)


Matritsani boshqa matritsaga ko‘paytirish.

Ammo matritsani boshqa matritsaga ko‘paytirish uchun biz “dot product” usulidan, ya’ni birinchi matritsaning satrlari ikkinchi matritsaning ustunlariga mos ravishda ko‘paytiriladi ... bu nimani anglatadi? Quyidagi misol orqali bu usulni tushunish oson


1-matritsaning 1-qatori va 2-matritsaning 1-ustuni uchun quyidagicha hisob-kitoblar amalga oshiriladi:

“dot product” bu yerda biz quyidagi ishlarni bajardik:


(1, 2, 3) • (7, 9, 11) = 1×7 + 2×9 + 3×11 = 58
Biz 1-elementlarni (1 va 7) moslashtiramiz, ularni ko‘paytiramiz, xuddi shunday 2-element (2 va 9) va 3-elementlar uchun (3 va 11) ham shu ishni bajaramiz va nihoyat ularni yig‘indisini hisoblaymiz.
Endi yuqoridagi usul orqali 1-matritsaning 1-qatori va 2-matritsaning 2-ustunini ko‘paytirib quyidagi natijani olish mumkin:

(1, 2, 3) • (8, 10, 12) = 1×8 + 2×10 + 3×12 = 64


1-matritsaning 2-qatori va 2-matritsaning 1-ustuni uchun ham xuddi shunday qilishimiz mumkin:
(4, 5, 6) • (7, 9, 11) = 4×7 + 5×9 + 6×11 = 139
Va nihoyat, 1-matritsaning 2-qatori va 2-matritsaning 2-ustuni uchun:
(4, 5, 6) • (8, 10, 12) = 4×8 + 5×10 + 6×12 = 154
ni hosil qilamiz. Natijada masalaning javobi quyidagicha bo‘ladi.
Download 20.56 Kb.

Do'stlaringiz bilan baham:




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