Ukuphindaphinda kwe-matrix kuwumsebenzi oyisisekelo ku-algebra yomugqa.
Ngokuvamile siyisebenzisa ezinhlelweni eziningi ezifana nokucubungula izithombe, ukufunda ngomshini, nokunye okuningi. I-NumPy iyiphakheji ye-Python ephawulekayo yekhompyutha yesayensi.
Kodwa-ke, kulokhu okuthunyelwe, sizobheka izindlela ezahlukahlukene zokwenza ukuphindaphinda kwe-matrix kuPython ngaphandle kokusebenzisa iNumPy.
Sizosebenzisa izihibe ezidleke, umsebenzi we-map() eyakhelwe ngaphakathi, nohlu lokuqonda.
Ngaphezu kwalokho, sizobheka izinzuzo kanye nezithiyo zesu ngalinye, kanye nokuthi kufanele sisetshenziswe nini ngasinye sazo. Uma umusha ku-algebra yomugqa futhi ufuna ukufunda okwengeziwe mayelana nokuphindaphinda kwe-matrix; qhubeka ufunda.
Sisebenzisa kuphi Ukuphindaphinda kwe-Matrix?
Ukuphindaphinda kwe-matrix kusetshenziswa ku ihluzo zekhompyutha ukushintsha okubonwayo kwe-2D ne-3D. Isibonelo, ungazungezisa, ukale, futhi uhumushe izinto ezisesikrinini. Ama-matrix asetshenziswa ekucubunguleni izithombe ukuze amele izithombe njengezinhla zamaphikseli. Ngaphandle kwalokho, ama-matrix angasetshenziswa ukwenza imisebenzi efana nokuhlunga izithombe.
Siphinde sisebenzisa ama-matrix ku ukufunda imishini. Bangasisiza ukuthi simelele idatha namapharamitha angamamodeli. Singakwazi ukwenza imisebenzi eminingi, efana nemikhiqizo yamachashazi ekhompuyutha kanye nemikhiqizo ye-matrix-vector.
Impela, lokhu kusebenza futhi kunenzuzo enkulu emisebenzini yesayensi. Singayisebenzisa ku-physics kanye nobunjiniyela ukuchaza amanani abonakalayo. Ngakho-ke, singasebenza ngama-vectors nama-tensor.
Kungani Singeke Sikhethe Ukusebenzisa I-NumPy?
Ngenkathi i-NumPy iyi-a Ilabhulali yePython, akuhlali kuyinketho ekahle yokuphindaphinda kwe-matrix. Angeke sikhethe ukusebenzisa i-NumPy ngezizathu ezinjengosayizi nokuncika, ukufunda, namasistimu amafa.
Ukusebenzisa imisebenzi eyakhelwe ngaphakathi ye-Python noma ukuthuthukisa ikhodi yangokwezifiso kungase kusebenze kangcono kwezinye izimo. Kubalulekile ukuqaphela, nokho, ukuthi iNumPy iwumtapo wolwazi oqinile. Ngaphandle kwalokho, ungayisebenzisela ukuphindaphinda kwe-matrix.
Manje, ake sibheke ukuthi singakuthola kanjani ukuphindaphinda kwe-matrix ngaphandle kwe-NumPy.
Indlela ye-loops ehlanganisiwe
Inqubo ye-loops enesidleke isebenzisa izihibe ezisidleke ukuze isebenzise ukuphindaphinda kwe-matrix ku-Python. Umsebenzi uphindaphinda phezu kwento ngayinye ye-matrix. Futhi, iwaphindaphinda kusetshenziswa uchungechunge lwamalophu afakwe esidlekeni. Umsebenzi ubuyisela umphumela, ogcinwa ku-matrix entsha.
Le ndlela ilula ukuyiqonda. Nokho, ingase ingasebenzi kahle njengezinye izindlela, ikakhulukazi kumatrices amakhulu. Nokho, kuyisinqumo esihle kuwe uma umusha ku-algebra yomugqa.
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])
# Setha i-matrix yomphumela ibe zero.
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
Ake sibe nesibonelo sendlela yokwenza lokhu. Ungakwazi ukwengeza le migqa yekhodi ngezansi ukuze uhlole lesi sibonelo.
# 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]]
Izinzuzo:
- Kulula ukuqonda.
- Ilungele abasanda kuzalwa noma labo abafuna ukuqonda okujulile kokuphindaphinda kwe-matrix.
Okumbi:
- Ayisebenzi njengezinye izindlela, ikakhulukazi kumatrices amakhulu.
- Ayifundeki njengezinye izindlela.
imephu () indlela yokusebenza
Indlela yokusebenza yemephu() inikeza enye indlela yokwenza ukuphindaphinda kwe-matrix kuPython. Kule ndlela, sisebenzisa imephu () eyakhelwe ngaphakathi. Ngakho-ke, sisebenzisa ithuluzi lokuhlela elisebenzayo elisebenzisa umsebenzi onikeziwe kunto ngayinye ebambekayo (uhlu, i-tuple, njll.). Futhi, Umsebenzi wemephu() wamukela amapharamitha amabili, umsebenzi kanye ne-iterable. Futhi, ibuyisela i-iterator efaka umsebenzi ku-elementi ngayinye ephathekayo.
Ngale ndlela, sidlula kulungu ngalinye le-matrix bese senza ukuphindaphinda sisebenzisa umsebenzi wemephu () ovalelwe.
Umsebenzi we-zip() usetshenziselwa ukuphindaphinda into ngayinye yamatrices ngokuhambisana.
Ekugcineni, isamba () umsebenzi usetshenziselwa ukuhlanganisa imiphumela.
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
Manje, futhi, singahlola ikhodi yethu ngesibonelo.
# 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]]
Izinzuzo
- Isebenza kakhulu kunendlela yokufaka izihibe ezistakiwe
- Isebenzisa ukuhlela okusebenzayo ukwenza ikhodi ibe lula.
Okumbi
- Abanye abantu abangajwayelene nezinhlelo ezisebenzayo bangase bakuthole kungafundeki kangako.
- Akuqondakali kakhulu kunendlela yokwenza izihibe.
Indlela yokuqonda yohlu
Ukuqonda kohlu kukwenza ukwazi ukukhiqiza uhlu olusha emugqeni owodwa wekhodi. Ngakho-ke, lokhu kungokusebenzisa isisho kulungu ngalinye lohlu olukhona.
Ngale ndlela, ukuphindaphinda kwenziwa ngokuphindaphinda ngokuphindaphindiwe ngelungu ngalinye le-matrix. Sisebenzisa ukuqonda kohlu olunezingqimba.
# 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]]
Izinzuzo
- Uma kuqhathaniswa nendlela yokusebenza yemephu(), emifushane futhi efundeka kakhulu.
Okumbi
- Ingase ingasebenzi kahle kunokusebenzisa umsebenzi wemephu(), ikakhulukazi kumatrices amakhulu.
- Kunzima kakhulu kunokusondela kwezihibe ezifakwe isidleke.
Isiphetho
Kulokhu okuthunyelwe, sibheke ezinye izindlela zokusebenzisa i-NumPy lapho siphindaphinda ama-matrics ePython. Senze ukuphindaphinda kwe-matrix kumaluphu afakwe esidlekeni, umsebenzi wemephu eyakhelwe ngaphakathi(), kanye nohlu lokuqonda.
Isu elingcono kakhulu lizoncika ezidingweni ezithile zephrojekthi yakho.
Isu ngalinye linobuhle nobubi balo. Ukuze uqiniseke ukuthi umsebenzi usebenza kahle, kuwumqondo omuhle ukwengeza ezinye izimo zokuhlola ezinobukhulu obuhlukahlukene be-matrix namanani.
Kufanele futhi ufake ezinye izivivinyo zokusebenza ukuze uqhathanise ukuthi lezi zindlela zisebenza kahle kangakanani.
shiya impendulo