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

2

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

کیانا ابراهیمی سوال پاسخ داده شده اکتبر 15, 2020
گذاشتن نظر
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 اضافه کنید. آیا میتوانیـد متـدهاي دیگري براي انجام کارهاي مختلف با ماتریسها طراحی کنید؟

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

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

کیانا ابراهیمی سوال پاسخ داده شده اکتبر 15, 2020
گذاشتن نظر
پاسخ خود را بنویسید .
  • فعال
  • بازدیدها1471 times
  • پاسخ ها1 پاسخ
ورود به متاورس | متاورس ایرانی
ورود به متاورس ایران یا همان متاورس ملی

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

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

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