در حال بارگزاری

آموزش ایجاد یک ماتریس (Matrix) در پایتون (Python)

شما اینجا هستید:
آموزش ایجاد یک ماتریس (Matrix) در پایتون (Python)

آموزش ایجاد یک ماتریس (Matrix) در پایتون (Python)

در این آموزش به بررسی کامل ساخت ماتریس با مثال های متنوع در پایتون (python) می‌پردازیم! مثلاً فرض کنید میخواید یک ماتریس 4 در 3 درست کنید، یا یک ماتریس 5 در 5 با اعداد 1 تا 25، و الی آخر! همه این ها رو در این آموزش باهم بحث می‌کنیم!

تعریف یک ماتریس

برای تعریف ماتریس به فرمی که در ذهن ماست، باید از یک سری پکیج‌های آماده در پایتون (python) استفاده کنیم، مثل numpy ! (پکیج‌های دیگه‌ای هم وجود داره، اما اگر توصیه من رو میخواید، numpy رو یاد بگیرید، چون بی‌نهایت فراگیرتر و رایج‌تر است!)

گام 0

پس قبل از هرکاری باید پکیج numpy را نصب کنید! (مانند هر پکیج دیگری که نیاز به نصب دارد!)

برای انجام گام 0 میتونید مراجعه کنید به آموزش نصب پکیج های مختلف در پایتون (python) که در اونجا به صورت کامل، روش‌های مختلف نصب پکیج‌های مختلف پایتون رو آموزش می‌دیم!

گام 1

باید به پایتون بگید که قصد دارید از پکیج نصب شده‌ی numpy استفاده کنید! [تا بنده خدا بدونه که قراره شما ازش استفاده کنین، چون ممکنه 10 تا پکیج دیگه هم نصب باشه، اگر قرار باشه همه رو آماده نگه داره که آیا شما استفاده بکنید یا نکنید، شدیداً سنگین میشه و رووویِ کاراییش تأثیر میذاره! پس نیازه تا از هرچیزی که میخواین استفاده کنین، بهش بگین که من میخوام از فلان چیز استفاده کنم!]

حالا برای اینکه بهش بگید که می‌خواید از پکیج numpy که قبلاً نصب کردید استفاده کنید، باید بنویسید!:

import numpy as np

در اینجا گفتیم وارد کن (import یعنی وارد کردن) پکیج numpy رو با نام مستعار np! شاید بگید نام مستعار دیگه چه صیغه‌ای است؟!

جواب اینه که ما چون حوصله نداریم در طول برنامه از لفظ بلند بالای numpy استفاده کنیم، میایم یک نام مستعار کوچولو و کوتاه براش انتخاب می‌کنیم! تا به جای گفتن numpy بگیم np !

دقیقاً مثل اینکه بعضی افراد اسم “سیاوش” رو خلاصه می‌کنن و می‌گن: “سیا” ! اینجا هم دقیقاً همین شکلی است!

توجه کنید که این خط کد بالا، باید قبل از استفاده از کدهایی که در ادامه میگیم باشه! وگرنه نمی فهمه چی نوشتیم!

گام 2: حالا بریم که شروع کنیم بحث اصلی خودمون رو…!

در اینجا سعی می‌کنیم مقدمات الکی و اضافه نگیم و یه راست بریم سراغ مثال…!

مثال 1

فرض کنید می‌خواید یک ماتریس 2 در 3 به اسم a تعریف کنید به صورت زیر:

⎡1  2  3⎤
⎢       ⎥
⎣4  5  6⎦

برای اینکار می‌نویسید!:

a=np.array([
    [1,2,3],
    [4,5,6]
])

یعنی هر سطر رو جداگانه تعریف می‌کنیم و بعد از تعریف هر سطر یه , میذاریم و میریم تعریف سطر بعد! و این رو هم دقت کنید که چون بعد از سطر آخر دیگه قرار نیست چیزی باشه! پس دیگه نباید بعد از سطر آخر , بذاریم!

توجه کنید که: در قطعه کُد بالا داریم به نوعی یک آرایه درست می‌کنیم! و از آموزش ساخت آرایه در numpy پایتون می‌دونیم که یک آرایه می‌تونه یک بعدی باشه! می‌تونه دو بعدی (یعنی ماتریس) باشه، می‌تونه سه بعدی باشه و الی آخر….!

احتمالاً می‌پرسید آیا نمی‌شُد همین دستور رو به صورت زیر نوشت؟! (جمع و جووور و توووی یک خط)!

a=np.array([ [1,2,3], [4,5,6]])

جواب اینه که: البته که میشه! پایتون به اون فضاهای خالی و spaceهایی که می‌زنیم حساس نیست! اما من برای خوانایی بهتر، مدل اول رو ترجیح میدم! اگر شما مدل دومی رو دوست دارید، مانعی نیست! از همین دومی استفاده کنید!

مثال 2

به عنوان یک مثال دیگه، فرض کنید میخوایم یک ماتریس 4 در 4 به صورت زیر تعریف کنیم!:

⎡1   2   3   4 ⎤
⎢              ⎥
⎢5   6   7   8 ⎥
⎢              ⎥
⎢9   10  11  12⎥
⎢              ⎥
⎣13  14  15  16⎦

برای تعریف یک همچین ماتریس باید بنویسیم!:

a=np.array([
    [1,2,3,4],
    [5,6,7,8],
    [9,10,11,12],
    [13,14,15,16]
])

نکات تکمیلی

بازهم تعریف ماتریس در پکیج numpy به همین مثال هایی که زدیم، محدود نمیشه! و شما راه های دیگه‌ای هم برای ایجاد ماتریس دارید! (یکیش رو الان میگیم، بقیه رو در آموزش‌های مجزا و دیگر بحث می‌کنیم! که می‌تونید به بخش آموزش‌های پیشنهادی مراجعه کنید!)

مثلاً فرض کنید در همون مثال 2 که در بالا مطرح کردیم، شما میخواید یک ماتریس 6 در 6 تولید کنید که درایه های داخل اون از 1 هست تا 36! اگر قرار باشه اینا رو دستی وارد کنیم، واقعاً فلاکت بزرگی است! مثلاً برای تعریف همین ماتریس 6 در 6 که الان گفتیم، میتونیم بنویسیم!:

a=np.array(range(1,37)).reshape(6,6)

در نگاه اول به کد بالا، اگر پیش‌نیازها رو بلد نباشید یکم خوف می‌کنید! اما نگران نباشید توضیح می‌دیم! همینطور که از آموزش تابع range در پایتون می‌دونید که وقتی به پایتون می‌گیم رِنج اعداد 1 تا 37، میاد اعداد 1 تا 36 رو در نظر میگیره! یعنی اون آخری (عدد 37) رو در نظر نمی‌گیره! شاید تعجب کنید ولی تابع range پایتون اینجوری کار میکنه دیگه! (برای توضیح بیشتر لطفاً به همون مطلب آموزش تابع range مراجعه کنید!)

پس رسماً اول گفتیم اعداد 1 تا 36 رو به آرایه تبدیل کن! بعد در ادامه با دستور reshape (در زبان انگلیسی reshape تغییر مجدد شکل!) میایم شکل آرایه رو به 6 در 6 تبدیل می‌کنیم! (اگر توضیح و مثال بیشتر در مورد دستور reshape می‌خواید مراجعه کنید به مطلب آموزش تابع reshape در numpy پایتون ! هرچند اگر توضیحی که اینجا دادم رو فهمیدید که چیکار میکنه، شاید دیگه خیلی لازم نباشه!)

پس یه بار دیگه مرور کنم چه کردیم!: اومدیم اعداد 1 تا 36 رو به آرایه تبدیل کردیم! بعد این آرایه رو تغییر شکل دادیم به 6 در 6 ! همین!

درس بعدی: محاسبه جمع، تفرق و محاسبه ترانهاده در ماتریس ها

در درس بعدی که لینکش رو در بالا مشاهده می‌کنید! به آموزش کامل محاسبه جمع، تفریق و محاسبه ترانهاده یک ماتریس در پایتون (python) می‌پردازیم! و با مثال و توضیح کدها، مطلب رو کامل درک خواهید کرد! در ضمن اون مطلب هم فیلم آموزشی داره!

مطالب پیشنهادی:

آموزش محاسبه دترمینان یک ماتریس در پایتون !

آموزش محاسبه ضرب ماتریسی و ضرب درایه درایه دو ماتریس در پایتون !

آموزش محاسبه مقادیر ویژه و بردارهای ویژه یک ماتریس

آموزش تابع ones و zeros در numpy پایتون !

با این دوتا دستور ones و zeros می‌تونید ماتریس های مختلفی، با ابعاد مختلفی بسازید که درایه‌هاشون صفر یا یک است!

آموزش محاسبه معکوس یک ماتریس در پایتون !

آموزش کامل و رایگان زبان برنامه نویسی پایتون !

مطالب مرتبط

چقدر طول میکشه تا در پایتون موفق بشم؟! در این مطلب در مورد سوالاتی مانند اینکه چقدر طول...

آموزش تاپل ها (tuple) در پایتون (Python) در این مطلب، به طور خیلی کامل از صفر تا صد...

جزئیات نوشته
تعداد دیدگاه 10
تعداد بازدید 34.6K
تاریخ انتشار 17/07/2018
تاریخ بروزرسانی 18/08/2021
نویسنده گروه آموزشی کولاک
برای ارسال دیدگاه ابتداواردشوید