در این آموزش، به طور کامل ضرب ماتریس ها (از ضرب ماتریسی گرفته [با دستور dot در پکیج numpy] تا ضرب درایه درایه ماتریس ها) رو در پایتون (python) آموزش میدیم!
خود پایتون (python) به صورت پیش فرض، چیزی نداره که بشه باهاش ماتریس درست کرد (به اووون معنی که ما از ماتریس میدونیم)! امّا میشه از پکیج های پایتون (python) برای انجام عملیات ماتریسی استفاده کرد! مثلاً میشه از پکیج NumPy استفاده کرد! (هرچند پکیجهای دیگهای هم وجود داره؛ اما اگر از من بپرسید؛ میگم که بهتره آموزش مربوط به پکیج numpy رو یاد بگیرید! چون بینهایت فراگیرتر و پرکاردبردتر است!)
قطعا میدونید که مثل هر پکیج دیگهای اول باید پکیج numpy نصب باشه! برای آموزش نصب این پکیج، مراجعه کنید به آموزش نصب پکیج های مختلف در پایتون (python) که به طور کامل و با روشهای مختلف نحوه نصب پکیجهای مختلف رو آموزش میدیم!
حتماً بخش پیش نیاز رو خوندین دیگه! نه؟! اگر نخوندین و همینجوری سریع اومدین اینجا، اشتباه کردین! پس لطفا اول یکم برین بالاتر و اون بخش پیش نیاز رو بخونین! بعد بیاین اینجا…!
فرض کنید دو ماتریس تعریف کردیم به نامهای A و B و به صورت زیر:!
import numpy as np A=np.array([ [1,2,3], [4,5,6] ]) B=np.array([ [7,8], [9,10], [11,12] ])
خب در خط اول که پکیج numpy رو با نام مستعار np وارد برنامه کردیم! و در خطوط بعدی هم ماتریس A و B رو تعریف کردیم! اگر نمیفهمید چی دارم میگم، یعنی پیشنیاز این مطلب رو طِی نکردید! پس حتماً قبلش باید مراجعه کنید به آموزش تعریف ماتریس در پایتون ! چون تا اینجا رو ما در آموزشهای قبلی گفتیم و تا الان اصلاً کار جدیدی نکردیم!!!
حالا فرض کنید قراره ضرب ماتریسی این دو ماتریس رو محاسبه کنیم! (قطعاً میدونید که ضرب ماتریسی با ضرب معمولی فرق میکنه!)
برای اینکار فقط کافیه بنویسیم!:
print( A.dot(B) )
خروجی:
[[ 58 64]
[139 154]]
هرچند خودتون خیلی بهتر از من میدونید، اما برای کامل شدن آموزش مجبورم این رو هم بگم!
در ضرب ماتریس ها میدونید که باید فی نقسه دو ماتریس رو بشه در هم ضرب کرد! یعنی اگر ماتریس اوّلمووون a در m باشه، ماتریس دوم باید m در b باشه تا بشه این دو ماتریس رو در هم ضرب کرد! حالا اون a و b مهم نیست چی باشه! ولی قطعاً m ها باید باهم برابر باشن! وگرنه قطعاً خطا دریافت میکنید! چون در اون صورت نمیشه دو ماتریس رو در هم ضرب ماتریسی کرد!
حالا اگر بخوایم دو ماتریس رو درایه درایه در هم ضرب کنیم، باید چیکار کنیم؟! یعنی نخوایم با فرمت معمولی ضرب ماتریسی، ضرب انجام بدیم و فقط بیایم ماتریس ها رو درایه درایه در هم ضرب کنیم!
نکته مهم اول اینه که باید دو ماتریس هم بُعد باشن! یعنی اگر یکی 2 در 3 است، اون یکی دیگه هم حتماً باید همین بُعد (یعنی 2 در 3) رو داشته باشه!
فرض کنید ماتریس D و E رو به صورت زیر تعریف کردیم!
D=np.array([ [1,2], [3,4] ]) E=np.array([ [2,3], [4,5] ])
برای محاسبه ضرب درایه درایه این دو ماتریس در پکیج numpy باید بگیم!
print( D*E )
خروجی:
[[ 2 6]
[12 20]]
این آموزش هم به پایان رسید! اگر سوالی، نکتهای، پیشنهادی، نقدی داشتین، خوشحال میشیم در بخش نظرات با ما در میون بذارید…!
آموزش محاسبه دترمینان یک ماتریس در پایتون !
محاسبه جمع و تفریق و ترانهاده ماتریس در پایتون !
آموزش محاسبه مقادیر ویژه و بردارهای ویژه یک ماتریس
آموزش تابع ones و zeros در numpy پایتون !
با این دوتا دستور ones و zeros میتونید ماتریس های مختلفی، با ابعاد مختلفی بسازید که درایههاشون صفر یا یک است!
تعداد دیدگاه | 0 |
تعداد بازدید | 15.8K |
تاریخ انتشار | 29/11/2019 |
تاریخ بروزرسانی | 29/11/2019 |
نویسنده | گروه آموزشی کولاک |