حل تمرین ماتریس zeros در متلب (جلسه چهل و چهارم)

حل تمرین در متلب
حل تمرین در متلب

در این دوره آنلاین آموزش متلب به صورت رایگان با سری آموزش‌های نرم افزار متلب در خدمت شما هستیم. در واقع آنچه که شما به طور کاملا عملی برای استفاده در انجام پروژه متلب نیاز دارید در این جلسات ارائه خواهد شد.

در جلسه‌ی گذشته به خوبی راجع به allocating یا مفهوم preallocation یعنی اختصاص حافظه صحبت کردیم. مفاهیم آن را تا حدودی بیان کردیم و این‌که متوجه شدید که چرا باید ماتریس zeros را در این قسمت اضافه کنید. در این جلسه هم کمی مبحث را به پیش می‌بریم و این تمرین را به پایان می‌رسانیم.

حل تمرین در متلب
آموزش نحوه حل تمرین در برنامه متلب

فرض کنید که تا جایی می‌خواهیم جلو برویم که جملات فیبوناچی کوچکتر از ۵۰۰۰ باشد. یعنی این جملات وقتی به ۵۰۰۰ تا رسید، دیگر تمام می‌شود و به محض اینکه F(k) بزرگتر از ۵۰۰۰ تا شد، برنامه متوقف شود. در اینجا ما دو شاخه داریم که برای بزرگتر از ۵۰۰۰ و کوچکتر از ۵۰۰۰ است که از نوع break است. پس در اینجا طبق جلسه اول فصل سوم انشعاب داریم. یعنی اینکه باید از if (اگر) کمک بگیریم. پس در اینجا باید چه کاری انجام دهیم؟

دقیقا در اینجا گفتیم که می‌خواهیم اگر جملات بالای ۵۰۰۰ شد، ما متوقف شویم. مشاهده می‌کنید که داریم از کلمه‌ی «اگر» استفاده می‌کنیم. بنابراین در اینجا یک if می‌گذاریم و می‌گوییم که if F(k)>5000 در این صورت break کند که این را در هم در جلسات گذشته توضیح دادیم و در آخر end را داریم و نوشتن برنامه تمام می‌شود. حال run می‌کنیم.

ادامه حل تمرین در متلب
آموزش نحوه حل تمرین در برنامه متلب 2
ادامه حل تمرین در متلب تصویر 3
آموزش نحوه حل تمرین در برنامه متلب- تصویر سوم

الان از قسمت workspace وارد F می‌شویم تا آن را ببینیم. گفتیم که اگر  بزرگتر از ۵۰۰۰ شد، break کند.

ادامه حل تمرین در متلب تصویر 4
آموزش نحوه حل تمرین در برنامه متلب- تصویر چهارم
ادامه حل تمرین در متلب تصویر 5
آموزش نحوه حل تمرین در برنامه متلب- تصویر پنجم

مشاهده می‌کنید تا ۴۱۸۱ آمده است که جمله‌ نوزدهم ما است و بعد جمله‌ی بیستم بزرگتر از ۵۰۰۰ شده است و ۶۷۶۵ است. پس وقتی که بزرگتر از ۵۰۰۰ شده است، بقیه همه را صفر کرده است. درست است؟ اما ما جمله بیستم را نمی‌خواهیم و تا جمله‌ی ۱۹ را می‌خواهیم. از جمله‌ی ۱۹ به بعد را می‌خواهیم نباشد. در قسمتworkspace  مشاهده می‌کنید که k را ۲۰ نوشته است.

ادامه حل تمرین در متلب تصویر 6
آموزش نحوه حل تمرین در برنامه متلب- تصویر ششم

k دقیقا تعدادی است که ما می‌خواهیم و تا ۲۰ است. پس ما می‌آییم از این k کمک می‌گیریم. چه کاری انجام می‌دهیم؟

در اینجا دو حالت داریم. یا از روش حذفی استفاده کنیم یا انتخابی و selection.

k را مشاهده کردید که تا جمله‌ی ۲۰ آمد نشان داد و از آنجا به بعد را صفر کرد.

حال می‌گوییم که F از k تا آخرش را تهی یعنی صفر کند و از بین ببرد که این رویکرد حذفی ما است که تمام آنها را حذف کرده است. یعنی از آن جمله به بعد که نمی‌خواستیم، حذف شده است.

ادامه حل تمرین در متلب تصویر 7
آموزش نحوه حل تمرین در برنامه متلب- تصویر هفتم

حال run می‌کنیم.

ادامه حل تمرین در متلب تصویر 7
آموزش نحوه حل تمرین در برنامه متلب- تصویر هفتم
ادامه حل تمرین در متلب تصویر 8
آموزش نحوه حل تمرین در برنامه متلب- تصویر هشتم
ادامه حل تمرین در متلب تصویر 9
آموزش نحوه حل تمرین در برنامه متلب- تصویر نهم
ادامه حل تمرین در متلب تصویر 10
آموزش نحوه حل تمرین در برنامه متلب- تصویر دهم

اگر F را بررسی کنید، مشاهده می‌کنید که دقیقا از جمله ۲۰ که دیگر آن را نمی‌خواستیم و بالاتر از ۵۰۰۰ شده است برای ما حذف کرده است.

اما یک روش دیگری هم وجود دارد که ما می‌توانیم به جای روش قبلی بگوییم که F=F(1: k-1);

ادامه حل تمرین در متلب تصویر 11
آموزش نحوه حل تمرین در برنامه متلب- تصویر یازدهم

به نظر شما معنی عبارت بالا چیست؟ کمی روی آن فکر کنید.

در اینجا گفته است که Fای که الان داریم، مساوی F(1: k-1) است. یعنی مساوی F از ۱ تا k-1 است که دقیقا ما می‌خواستیم. یعنی همان اعدادی که ما می‌خواهیم است. F الان ما برابر عبارت گفته شده است.

حالا run می‌کنیم.

ادامه حل تمرین در متلب تصویر 12
آموزش نحوه حل تمرین در برنامه متلب- تصویر دوازدهم

از قسمت workspace وارد F می‌شویم و مشاهده می‌کنید که دقیقا همان شده است.

ادامه حل تمرین در متلب تصویر 13
آموزش نحوه حل تمرین در برنامه متلب- تصویر سیزدهم
آموزش نحوه حل تمرینات در محیط متلب 14
آموزش نحوه حل تمرین در برنامه متلب- تصویر چهاردهم

در اینجا مبحث امروز را به پایان می‌رسانیم و در جلسه آینده در رابطه با مفهوم اندیس سلامتی (health index) در متلب صحبت خواهیم کرد.

در صورتی که شما پس از خواندن محتوای جلسات قبلی و این بخش که به ساده‌ترین زبان ممکن درباره‌ی برنامه‌ی متلب و محیط کاربری آن توضیح داده باز هم سردرگم هستید. می‌توانید با برون سپاری انجام پروژه متلب خود به کارشناسان حرفه‌ای کارت پروژه می‌باشد. میتوانید از طریق شماره‌ی 09104503300 با پشتیبانان کارت از طریق پیام یا تماس در ارتباط باشید.

برای کسب اطلاعات بیشتر در مورد متلب میتوانید به مقاله آموزش متلب مقدماتی مراجعه کنید.

برای ثبت سفارش لطفا در تلگرام یا واتساپ یا ایتا به شماره 09104503300 پیام دهید.