ضرب ماتریس ها چگونه انجام میشود ؟

2

ضرب ماتریس ها چگونه انجام میشود ؟

کیانا ابراهیمی Answered question اکتبر 15, 2020
Add a Comment
0

ضرب ماتریس ها چگونه انجام میشود ؟

همانطور که میدانید دو ماتریس در صورتی میتوانند در هم ضرب شوند که تعداد ستونهـاي اولین ماتریس با تعداد سطرهاي دومین ماتریس برابـر باشـد. درایـههـاي هـر سـطر از مـاتریس اول در درایههاي متناظر در ستون ماتریس دوم ضرب میشوند و مجموع آنها در مکان درایهاي بـا عـدد سـطر ماتریس اول و عدد ستون ماتریس دوم در ماتریس حاصلضرب قرار میگیرد. با این توضیح ما متدي بهنـام __mul __مـینویسـیم کـه عمـل ضـرب دو مـاتریس را انجـام میدهد. قبلاً با نحوة عمل __mul __آشنا شدهاید:

def __mul__(self, other):
product = Matrix(self.dimension[0], other.dimensions[1])
for i in range(self.dimension[0]):
for k in range(other.dimensions[1]):
for j in range(self.dimensions[1]):
product.__matrix[i][k] += (self.__matrix[i][j] * \
other.__matrix[j][k])
return product

در ابتداي متد، ما ماتریسی را میسازیم که از تعداد سطرهاي ماتریس اول و تعداد سـتونهـاي ماتریس دوم تشکیل شده است. حال در سـه حلقـۀ متـوالی اعمـال ضـرب و جمـع درایـههـا را انجـام میدهیم. متغیر حلقۀ اول درایههاي موجود در سطرهاي ماتریس اول را میپیمایـد. متغیـر حلقـۀ دوم، هم ستونهاي ماتریس اول و هم سطرهاي ماتریس دوم و متغیر حلقه سوم هـم درایـههـاي موجـود در ستونهاي ماتریس دوم را میپیماید. در آخرین حلقه یـک بـه یـک درایـههـاي سـطرهاي مـاتریس اول، در درایـههـاي متنـاظر در ستونهاي ماتریس دوم ضـرب شـده و بـه درایـۀ حاصـلضـرب اضـافه مـیشـوند. در پایـان، مـاتریس حاصلضرب برگردانده میشود و میتوانیم آن را در هر متغیر دلخـواهی ذخیـره کنـیم و یـا بـا دسـتور print آن را چاپ کنیم:

>> m1 = Matrix(3, 1)
>>> m1.inputItems()
Element[0][0] = 1
Element[1][0] = 2
Element[2][0] = 3
>>> m2 = Matrix(1*2)
>>> m2.inputItems()
Element[0][0] = 4
Element[0][1] = 5
>>> print m1 * m2
4 5
8 10
12 15

تمــرین 21-3 :بــا اطلاعــاتی کــه در مــورد عمــل متــدهاي __add__ ، __sub __و __rmul __دارید، هر یک از آنها را به کلاس Matrix اضافه کنید. آیا میتوانیـد متـدهاي دیگري براي انجام کارهاي مختلف با ماتریسها طراحی کنید؟

برای اموزش های ویدیویی زبان پایتون به بستر ویدیو های اموزشی بروید

بستر اموزش های ویدویی 

کیانا ابراهیمی Answered question اکتبر 15, 2020
Add a Comment
Write your answer.
  • Active
  • Views1652 times
  • Answers1 answer
ورود به متاورس | متاورس ایرانی
ورود به متاورس ایران یا همان متاورس ملی

علامت ذره بین Tutorials سمت راست به رنگ قرمز به شما کمک خواهد کرد .

جدید ترین سوالات پرسیده شده

ایا ایدز گزفتم؟ 0 Answers | 0 Votes
انتخاب ورزش رزمی 0 Answers | 1 Vote
وزارت تعاون کار و رفاه اجتماعی اسناد و املاک کشور مرکز آموزش ویدیویی انجمن پرسش و پاسخ فروشگاه ملی تولید کنندگان مدیریت بر مدیران حم رسانه ملی اخبار متا دانشگاه متاورس استخدام | دانش محور فروشگاه مجازی حم تبلیغات ملی بازار NFT متاورس رنگ نقشه ملی سه بعدی متا تونل زمان متاآرت وبرنگ خانه