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

آموزش دستور sum در متلب (MATLAB)

شما اینجا هستید:
آموزش دستور sum در متلب (MATLAB)

آموزش دستور sum در متلب (MATLAB)

در این مطلب آموزشی بنا داریم تا تابع sum در متلب (MATLAB) را آموزش دهیم، و نحوه استفاده از این دستور برای ماتریس، بردار و … را شرح دهیم!

دستور sum برای یک بردار

این دستور، جم اعضای آن بردار را می‌دهد! مثلاً فرض کنید بردار سطری A به صورت زیر تعریف شده است:

a=[1,2,3]

برای بدست آوردن حاصل جمع اعداد این بردار داریم!:

sum(a)

که حاصل برابر است با!:

ans =  6

اگر همین موضوع برای بردار ستونی هم بکار رود، نتیجه یکسان است، به عنوان تمرین، حاصل جمع بردار ستونی زیر را محاسبه کنید!

b=[5;7;14]

دستور sum برای یک ماتریس

این دستور از چیزی که احتمالاً توقع دارید متفاوت است! و جمع تمام اعضای ماتریس را نمی‌دهد! مثلاً ماتریس c که به شرح زیر تعریف شده است را در نظر بگیرید!:

c =

   1   2
   3   4

اگر بنویسیم:

sum(c)

حاصل به صورت زیر خواهد بود که با انتظار شما متفاوت است!

ans =

   4   6

همانطور که می‌بینید، جمع روی سطر‌ها زده شده!

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

اما متلب (MATLAB) این قابلیت رو در اختیار ما قرار میده که حتی خودمون انتخاب کنیم که روی سطرها جمع بزنه یا روی ستون‌ها!

برای اینکه روی ستون‌ها جمع بزنه، داریم!:

sum(c,2)

که خروجی به صورت زیر خواهد بود:

ans =

   3
   7

یعنی هر سطر رو گرفته و روی ستون‌ها جمع زده!

توجه کنید که مثلاً اگر بجای اون 2 در عبارت sum(c,2) بذاریم 1، همون نتیجه دفعه قبل رو بهمون میده و همون حالت پیش‌فرضش، که جمع روی سطر بود رو پیاده‌سازی میکنه!

سوال پیش میاد که:

اگر بخوایم مجموع تمام عناصر یک ماتریس رو پیدا کنیم، باید چیکار کنیم؟

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

راه حل اول:

sum(sum(c))

یعنی اول روی همه سطرها جمع بزنه (که نتیجش یک بردار میشه!) و بعد حالا sum دوم میاد، روی کل اعداد بردارِ حاصله جمع میزنه که نتیجش میشه یک عدد که جمع همه اعداد ماتریس است! البته توجه کنید که برای ماتریس با ابعاد بالاتر (مثلاً ماتریس سه بعدی)، دیگه این روش و برای این منظور کارا نیست!

راه حل دوم:

sum(c(:))

عبارت زیر، همه اعضای یک ماتریس را به بردار تبدیل می‌کند، مثلاً اگر ماتریس 6 در 6 هم باشه، تمام عناصرش رو تبدیل میکنه به صورت یک بردار!

c(:)

حالا اگر از این بردار جدید کعه حاصل شده، sum بگیریم، درواقع حاصل جمع کل اعداد ماتریس بدست آمده است!

 

مطالب مرتبط

آموزش تابع logspace در متلب (MATLAB) در این مطلب تابع logspace در متلب (MATLAB) رو از مقدماتی تا...

رسم نمودار با دستور plot در نرم افزار متلب (MATLAB) در این مطلب از نرم افزار متلب (MATLAB)...

جزئیات نوشته
تعداد دیدگاه 0
تعداد بازدید 18.6K
تاریخ انتشار 20/03/2019
تاریخ بروزرسانی 20/03/2019
نویسنده گروه آموزشی کولاک
برای ارسال دیدگاه ابتداواردشوید