Isku dhufashada Matrix waa hawlgal aasaasi ah oo aljabra toosan ah.
Waxaan guud ahaan u isticmaalnaa codsiyo badan sida habaynta sawirka, barashada mashiinka, iyo qaar kaloo badan. NumPy waa xirmo Python oo caan ah oo loogu talagalay xisaabinta sayniska.
Si kastaba ha ahaatee, qoraalkan, waxaan ku eegi doonaa habab kala duwan oo loogu sameeyo isku dhufashada matrix gudaha Python iyada oo aan la isticmaalin NumPy.
Waanu isticmaali doonaa wareegyada buulka ah, shaqada khariidadda ku dhex dhisan () iyo fahamka liiska.
Intaa waxaa dheer, waxaan eegi doonaa faa'iidooyinka iyo khasaaraha xeelad kasta, iyo sidoo kale marka la dabaqo mid kasta oo iyaga ka mid ah. Haddii aad ku cusub tahay aljabrada toosan oo aad rabto inaad wax badan ka barato isku dhufashada matrixka; sii wad akhriska.
Halkee Aan Ku Isticmaalnaa Isku-dhufashada Matrix?
Isku dhufashada Matrix waxaa loo isticmaalaa gudaha sawirada kumbuyuutarka si loo beddelo muuqaallada 2D iyo 3D. Tusaale ahaan, waad beddeli kartaa, cabbiri kartaa, oo waad turjumi kartaa walxaha shaashadda. Matrixes-ka waxaa loo isticmaalaa habaynta sawirka si ay u matalaan sawirada sida hannaan pixels. Ka sokow, matrix-yada waxaa loo isticmaali karaa in lagu qabto hawlgallada sida shaandhaynta sawirka.
Waxaan sidoo kale isticmaalnaa matrix-yada gudaha barashada mashiinka. Waxay naga caawin karaan inaan matalo xogta iyo cabbiraadaha moodeelka. Waxaan samayn karnaa hawlgallo badan, sida xisaabinta alaabada dhibcaha iyo alaabta matrix-vector.
Hubaal, hawlgalkani sidoo kale aad buu faa'iido ugu leeyahay hawlgallada sayniska. Waxaan u isticmaali karnaa fiisigiska iyo injineernimada si aan u qeexno tirada jirka. Sidaa darteed, waxaan ku shaqeyn karnaa vectors iyo tenors.
Maxaynu u dooran la'nahay isticmaalka numPy?
Halka NumPy uu yahay a Maktabadda Python, had iyo jeer maaha doorashada ugu habboon ee isku dhufashada matrixka. Waxaa laga yaabaa inaanan dooran inaan u isticmaalno NumPy sababo ay ka mid yihiin cabbirka iyo ku tiirsanaanta, barashada, iyo nidaamyada dhaxalka.
Isticmaalka shaqooyinka Python ee ku dhex jira ama samaynta koodka gaarka ah ayaa laga yaabaa inay waxtar badan yeeshaan xaaladaha qaarkood. Waxaa muhiim ah in la ogaado, si kastaba ha ahaatee, in NumPy ay tahay maktabad adag. Ka sokow, waxaad sidoo kale u isticmaali kartaa isku dhufashada matrixka.
Hadda, aan eegno sida aan ku gaari karno isku dhufashada xisaabta NumPy la'aanteed.
Habka loops buul leh
Farsamada wareegyada buulka leh waxay isticmaashaa wareegyo buul leh si ay u fuliyaan isku dhufashada matrixka Python. Shaqadu waxay ku celcelisaa qayb kasta oo matrix ah. Oo, waxay ku dhufataa iyaga iyadoo la adeegsanayo siddooyin taxane ah oo buul leh. Shaqadu waxay soo celisaa natiijada, taas oo lagu kaydiyo matrix cusub.
Habkani waa mid toos ah in la fahmo. Si kastaba ha ahaatee, waxaa laga yaabaa inaysan u fiicnayn sida hababka kale, gaar ahaan matrixyada waaweyn. Hase yeeshee, waa doorasho cajiib ah adiga haddii aad ku cusub tahay aljebrada toosan.
def matrix_multiplication(A, B):
# Determine the matrices' dimensions.
rows_A = len(A)
cols_A = len(A[0])
rows_B = len(B)
cols_B = len(B[0])
# U deji matrix natiijada eber.
result = [[0 for row in range(cols_B)] for col in
range(rows_A)]
# Iterate through rows of A
for s in range(rows_A):
# Iterate through columns of B
for j in range(cols_B):
# Iterate through rows of B
for k in range(cols_A):
result[s][j] += A[s][k] * B[k][j]
return result
Aynu hayno tusaale ah sida tan loo sameeyo. Waxaad ku dari kartaa khadadkan koodka hoose si aad u tijaabiso tusaalahan.
# Sample matrices
A = [[1, 4, 3], [4, 9, 6]]
B = [[7, 8], [9, 10], [11, 12]]
# Perform matrix multiplication
result = matrix_multiplication(A, B)
# Print the result
print(result)
# Output: [[76, 84], [175, 194]]
Faa'iidooyinka:
- Fudud in la fahmo.
- U fiican kuwa cusub ama kuwa doonaya faham qoto dheer ee isku dhufashada matrixka.
Qasaaraha:
- Ma aha wax ku ool ah sida farsamooyinka beddelka ah, gaar ahaan matrixyada waaweyn.
- Ma aha wax la akhriyi karo sida hababka beddelka ah.
map() habka shaqada
Habka shaqada ee khariidadda() waxa uu bixiyaa hab kale oo lagu samaynayo isku dhufashada matrix ee Python. Habkan, waxaanu isticmaalnaa shaqada khariidadda ku dhex dhisan. Sidaa awgeed, waxaanu isticmaalnaa qalab barnaamijeed shaqaynaya oo khuseeya hawl la bixiyay shay kasta oo la taaban karo (liiska, tuple, iwm.). Sidoo kale, shaqada khariidadda() waxay aqbashaa laba cabbir, hawl iyo mid la taaban karo. Oo, waxay soo celisaa soo noqnoqoshada oo ku dabaqaysa shaqada shay kasta oo la taaban karo.
Habkan, waxaan ku mareynaa xubin kasta oo ka mid ah shaxanka waxaana ku sameyneynaa isku dhufashada anagoo adeegsanayna shaqada khariidadda () ee daboolan.
Shaqada zip() waxa loo istcmaalay in lagu cel-celiyo iyada oo loo marayo shay kasta oo ka mid ah matrixyada is barbar socda.
Ugu dambeyntii, shaqada wadarta () waxaa loo isticmaalaa in lagu daro natiijooyinka.
def matrix_multiplication(A, B):
# To get the dimensions of the matrices
rows_A = len(A)
cols_A = len(A[0])
rows_B = len(B)
cols_B = len(B[0])
# We use map() function for multiplication.
result = [[sum(a * b for a, b in zip(row_a, col_b)) for
col_b in zip(*B)] for row_a in A]
return result
Hadda, mar labaad, waxaan ku tijaabin karnaa koodkayaga tusaale.
# Example matrices
A = [[3, 2, 3], [4, 5, 6]]
B = [[7, 8], [9, 10], [11, 12]]
# Use map() function to perform matrix multiplication
result = list(map(lambda x: list(map(lambda y: sum(i*j
for i,j in zip(x,y)), zip(*B))), A))
# Print the result
print(result)
# Output: [[72, 80], [139, 154]]
Faa'iidada
- Ka waxtar badan habka loops-ku-xidhan
- Waxay isticmaashaa barnaamij hawleed si ay koodhka uga dhigto mid fudud.
Qasaaraha
- Dadka qaar ee aan aqoon u lahayn barnaamijyada shaqaynta waxa laga yaabaa inay u arkaan mid aan la akhriyin.
- Way ka yar tahay wax la fahmi karo marka loo eego farsamada loops-ka ee buulka leh.
Habka fahamka liiska
Fahamka liisku wuxuu awood kuu siinayaa inaad liis cusub ku soo saarto hal sadar oo kood ah. Sidaa darteed, tani waa iyada oo la adeegsanaayo tibaax xubin kasta oo liiska jira.
Habkan, isku dhufashada waxaa lagu fuliyaa iyadoo si isdaba joog ah loogu celcelinayo xubin kasta oo matrix ah. Waxaan isticmaaleynaa fahamka liiska lakabka ah.
# Sample matrices
A = [[1, 12, 3], [14, 5, 6]]
B = [[7, 8], [9, 10], [12, 12]]
# Matrix multiplication using list comprehension
result = [[sum(A[i][k] * B[k][j] for k in range(len(A[0])))
for j in range(len(B[0]))] for i in range(len(A))]
# Print the result
print(result)
[[151, 164], [215, 234]]
Faa'iidooyinka
- Marka la barbar dhigo khariidada() habka shaqada, gaaban oo la akhriyi karo.
Qasaaraha
- Waxaa laga yaabaa inay ka waxtar yar tahay isticmaalka shaqada khariidadda, gaar ahaan maatariyada waaweyn.
- Way ka adag tahay habka loo maro siddooyinka buulka leh.
Ugu Dambeyn
Maqaalkan, waxaan ku eegnay beddelka isticmaalka NumPy marka lagu dhufto matrix gudaha Python. Waxaan ku samaynay isku dhufashada jaantuska siddooyinka buulka leh, shaqada khariidadda ku dhex dhisan, iyo fahamka liiska.
Xeeladda ugu fiican waxay ku tiirsanaan doontaa baahiyaha gaarka ah ee mashruucaaga.
Mid kasta oo ka mid ah xeeladaha ayaa leh faa'iidooyin iyo waxyeellooyin u gaar ah. Si loo hubiyo in shaqadu si sax ah u shaqaynayso, waa fikrad wanaagsan in lagu daro kiisas tijaabo ah oo leh cabbir iyo qiimayaal kala duwan.
Waa inaad sidoo kale ku dartaa qaar ka mid ah imtixaanada waxqabadka si loo barbardhigo sida wanaagsan ee hababkani u fuliyaan.
Leave a Reply