آخرين ارسالهاي تالار

موضوع هاي بيشتر »

نکاتی در مورد دستور sum مشاهده در قالب PDF چاپ فرستادن به ایمیل
نوشته شده توسط م ص   
یکشنبه, 19 آبان 1392 ساعت 19:31

همانطور که می دانید، دستور:

sum(A)

جمع عضوهای هر ستون از ماتریس A را بر می گرداند. یعنی اگر A ماتریسی به ابعاد mxn باشد، حاصل

sum(A)

برداری است nx1 که اعضای آن، مجموع اعضای هر ستون از A است.

colsums = sum(A);

 

حال اگر بر فرض بخواهیم این دستور، مجموع اعضای هر سیر از ماتریس را بدهد، چه می کنیم؟

یک راه این است، که از ترانهاده ماتریس sum می گیریم:

rowsums = sum(A’)

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

اما برای این کار، راه ساده تری هست: پارامتر دیگری به دستور sum اضافه می کنیم:

dimsums = sum(A,n)

که در آن، n بُعدی است که می خواهیم عمل مجموع گیری روی آن صورت گیرد. اگر بخواهیم از اعضای ستونها مجموع بگیرد، n را 1 قرار می دهیم که همان پیش فرض است. اگر از اعضای ستونها مجموع بگیرد، n را 2 قرار می دهیم. اگر حتی ماتریس ما ابعاد بالاتری داشت و خواستیم از آن بُعد مجموع بگیرد، n را برابر آن بُعد قرار می‌دهیم.

 

اگر بخواهیم مجموع کل درایه های ماتریس را به دست آوریم، راهش (که خودم تا چند وقت پیش به کار می بردم) این بود

sum(sum(A))

اگر ابعاد ماتریس بالا برود، کار مجموع گیری دردسرساز می شود. برای مجموع گیری از کل درایه های ماتریس، راه ساده تری پیشنهاد می شود:

sum(A(:))

این دستور در واقع اول کل اعضای ماتریس A را به صورت یک بردار ستونی در می آورد، بعد از آن مجموع می گیرد. استفاده از

A(:)

در خیلی جاها بدرد خواهد خورد.

نظر ها (2)
  • کامیاب
    سلام
    می خواستم بدونم چطوری می تونم نمودار فرمول زیر را که در ایمیج گذاشتم رسم کنم. ممنون میشم جواب بدید.
  • هوش  - کد متلب
    سلام میخوام اعداد رو یکی در میون بخونم با چه دستوری اینکارو بکنم؟
تنها کاربران عضو شده می توانند نظر ارسال کنند!
آخرین بروز رسانی در یکشنبه, 19 آبان 1392 ساعت 20:14