دستور Sum در متلب – آموزش به زبان ساده + مثال
متلب زبانی است که از آن برای محاسبات فنی استفاده میشود. دستور Sum در متلب یکی از توابع پرکاربرد است که برای عملیات جمع عددی کاربرد دارد. از این دستور میتوان در حالتهای مختلف استفاده کرد. در این مقاله از مجله فرادرس، ابتدا شیوههای مختلف استفاده از این دستور آشنا خواهیم شد و در ادامه، مثالهای کاربردی از دستور Sum در متلب را بررسی میکنیم.
دستور sum در متلب چیست؟
دستور Sum در متلب، دستوری برای انجام عمل جمع است. این دستور را میتوان به شیوههای مختلف نوشت و از آن استفاده کرد. قطعه کدهای زیر، روشهای مختلف نوشتن دستور Sum را نشان میدهند.
1S = sum(A)
2S = sum(A,'all')
3S = sum(A,dim)
4S = sum(A,vecdim)
5S = sum(___,nanflag)
در ادامه، هر یک از دستورهای بالا را معرفی میکنیم:
- S = sum (A) مجموع عناصر A را برمیگرداند. اگر A یک بردار سطری باشد، دستور Sum مجموع عنصرها را حساب و آن را نشان میدهد، اما اگر A ماتریس باشد، مجموع درایههای هر ستون را حساب و آن را بهصورت برداری نمایش میدهد.
- S = sum (A‚ ′all′) مجموع تمام درایههای A را محاسبه میکند. از این دستور میتوان برای محاسبه مجموع عناصر در ماتریسهای دوبعدی و سهبعدی استفاده کرد. این دستور از نسخه 2018B معتبر است و میتوان از آن استفاده کرد.
- S = sum (A‚ ′dim′) در این حالت، دستور sum مجموع عناصر ماتریس A در امتداد بعد «dim» نمایش میدهد.به عنوان مثال، اگر A یک ماتریس باشد، sum(A, 2) یک بردار ستونی است که شامل مجموع هر سطر است.
- S = sum (A‚ vecdim) در این حالت عناصر A را بر اساس ابعاد مشخص شده در بردار «vecdim» جمع میکند. به عنوان مثال، اگر A یک ماتریس باشد، sum(A, [1 2]) مجموع همه عناصر در A است، زیرا همه عناصر ماتریس در بردار تعریف شده با ابعاد 1 و 2 قرار دارد.
- S = sum (____‚ ′nanflag′) اگر در داخل عناصر ماتریس مقادیر تعریف نشده «NaN» باشد، در زمان استفاده از دستور Sum در متلب مشخص کنید که مقادیر NaN محاسبه شود یا خیر. اگر قصد دارید این مقادیر در محاسبهها اعمال شود، در این دستور به جای بخش دوم «includenan» وارد کنید، اما اگر دوست دارید مقادیر تعریف نشده در محاسبهها اعمال نشود، در بخش دوم دستور «omitnan» را بنویسید.
تفاوت دستور sum و symsum در متلب
توابع و دستورات متلب بسیار زیاد هستند که کار کردن با نرمافزار را بسیار راحت کردهاند. sum و symsum، دو دستور پرکاربرد در متلب هستند که با وجود شباهت به یکدیگر، عملکرد متفاوتی دارند. اگر به خاطر داشته باشید، در ریاضیات برای جمع کردن سریهای طولانی از سیگما استفاده میکردیم. در متلب دستور symsum نقش سیگما را دارد.
به بیان سادهتر، دستور symsum برای محاسبه مجموع دنبالهها استفاده میشود، اما دستور sum در متلب برای جمع زدن بهصورت عددی کاربرد دارد.
مثال های دستور sum در متلب
برای اینکه هر کدام از شیوههای نوشتن دستور sum را بهتر درک کنید، با مثالهای بسیار ساده آنها را بررسی کردهایم، پس ادامه مطلب را از دست ندهید.
مثال اول
جواب: ابتدا بردار A را تعریف میکنیم و سپس از دستور Sum برای محاسبه جمع کردن درایههای آن استفاده میکنیم:
1A = 1:10;
2S = sum(A)
در نهایت مجموع بردار برابر مقدار زیر است:
1S = 55
مثال دوم
1A = [1 3 2; 4 2 5; 6 1 4]
نمایش ماتریس بهصورت زیر است:
1A = 3×3
2
3 1 3 2
4 4 2 5
5 6 1 4
برای محاسبه مجموع هر ستون ماتریس A از دستور Sum استفاده میکنیم و آن را بهصورت زیر در متلب مینویسم:
1S = sum(A)
مجموع هر ستون ماتریس A برابر مقادیر زیر است:
1S = 1×3
2
3 11 6 11
البته میتوان برای جمع کردن درایههای هر ستون از S=sum (a,1) هم استفاده کنید که در هر دو حالت جوابها یکی است.
مثال سوم
در مثال قبل مجموع ستونهای ماتریس را محاسبه کردیم. در این مثال میخواهیم مجموع عناصر هر ردیف را محاسبه کنیم.
جواب: با استفاده از کد دستوری زیر یک ماتریس 3 در 3 را ایجاد میکنیم:
1A = [1 3 2; 4 2 5; 6 1 4]
نمایش ماتریس A را میتوانید بهصورت زیر ببینید:
1A = 3×3
2
3 1 3 2
4 4 2 5
5 6 1 4
برای اینکه مجموع هر ردیف از ماتریس را به دست آورید کد زیر را وارد کنید:
1S = sum(A,2)
در زیر مشاهده میکنید که مجموع هر ردیف ماتریس محاسبه شده است:
1A = 3×3
2
3 1 3 2
4 4 2 5
5 6 1 4
مثال چهارم
ماتریسی سهبعدی را ایجاد کنید و مجموع عنصرهای آن را به دست آورید.
جواب: یکی از روش برای ایجاد ماتریس سهبعدی استفاده از ماتریس یک «ones» است. بنابراین ماتریسی سهبعدی در ابعاد 4 در 3 در 2 از عدد یک را ایجاد میکنیم:
1A = ones(4,3,2);
اگر این ماتریس را در ذهن خودتان تجسم کنید، میتواند مجموع آن را حدس زد، اما میخواهیم از دستور Sum برای جمع کردن عناصر ماتریس استفاده کنیم. برای این کار بهصورت زیر عمل میکنیم:
1Sall = sum(A,'all')
به احتمال زیاد همه شما مجموع عناصر را درست حدس زده باشید:
1Sall = 24
پس به راحتی میتوان مجموع درایههای هر نوع ماتریسی را با این دستور به دست آورد.
مثال پنجم
یک ماتریس سهبعدی از عدد یک را ایجاد و مجموع عناصر آن را بر اساس بردار [3 2] دست آورید.
جواب: از ماتریس سهبعدی که در مثال قبل تعریف کردیم، استفاده میکنیم. برای به دست آوردن مجموع عناصر بر اساس بردار [3 2] از کد زیر استفاده میکنیم:
1S = sum(A,[2 3])
اگر ماتریس A را در امتداد بعد اول برش دهید، میتوانید عناصر 4 صفحه را که هر کدام ماتریسهای 3 در 2 هستند، بهصورت زیر جمع کنید:
1S2 = 4×1
2
3 6
4 6
5 6
6 6
مثال ششم
جواب: ابتدا ماتریس A را ایجاد میکنیم که تعدادی از عناصر آن NaN است:
1A = [1.77 -0.005 3.98 -2.95 NaN 0.34 NaN 0.19];
برای اینکه حاصل جمع عناصر این ماتریس را به دست آوریم از دستور زیر استفاده میکنیم:
1S = sum(A,'omitnan')
مجموع درایههای ماتریس A برابر است با:
1S = 3.3250
اگر در دستور omitnan نوشته نشود، حاصل جمع بهصورت NaN نمایش داده میشود.
سوالات متداول در مورد دستور sum در متلب
در این بخش، به تعدادی از سوالات پرتکرار و مهم در رابطه با دستور Sum در متلب پاسخ میدهیم.
دستور Sum در متلب چه کاربردی دارد ؟
از دستور Sum برای عملیات جمع در متلب استفاده میشود.
تفاوت دستور symsum و sum در متلب چیست ؟
از دستور sum برای جمع کردن عددی استفاده میشود، اما دستور symsum جهت محاسبه مجموع دنباله کاربرد دارد.
چگونه مجموع عناصر ماتریس سه بعدی را حساب کنیم ؟
برای جمع کردن همه عناصر ماتریس سهبعدی میتوان از کد S = sum (A‚ ′all′) استفاده کرد.