در این دوره آنلاین آموزش متلب به صورت رایگان با سری آموزشهای نرم افزار متلب در خدمت شما هستیم. در واقع آنچه که شما به طور کاملا عملی برای استفاده در انجام پروژه متلب نیاز دارید در این جلسات ارائه خواهد شد.
در جلسه گذشته از آموزش مقدماتی متلب در رابطه با دستور mean در متلب صحبت کردیم. در این جلسه قصد داریم درباره نحوه استفاده از help متلب صحبت کنیم.
نحوه استفاده از help در متلب
برای استفاده از help متلب بایستی از دستور doc در بخش command window استفاده کنید. در ادامه به صورت تصویری آموزش را پیش خواهیم برد.
حال میخواهیم در مورد انواع تابعها صحبت کنیم. وارد قسمت help میشویم.





سپس وارد قسمت MATLAB و language fundamentals میشویم و سپس وارد قسمت Data types میشویم که میخواهیم در موردشان بررسی کنیم. روی numeric types (اعداد) کلیک میکنیم.

مشاهده میکنیم که چه اعدادی را داریم. double را داریم، single داریم، int8 داریم، int16 داریم، یعنی ۱۶ بیت، ۳۲ بیت یا ۶۴ بیت است. تعریف اینها هم در این قسمت نوشته شده است. مثلاً signed integer arrays یعنی اینکه علامتدار است. و unsigned یعنی غیر علامتدار است.
اگر در قسمت Numeric types قرار بگیرید، برایتان اینها را در خود help برنامه متلب توضیح داده است. فقط باید کمی انگلیسی قوی داشته باشید. حال ما در اینجا کمی توضیح میدهیم که اینها چه هستند تا نیاز نداشته باشید خودتان را درگیر کنید.
گفتیم که singed یعنی با علامت و unsinged یعنی بیعلامت. حال با علامت و بدون علامت به چه معناست؟ شروع میکنیم از همین ابتدا توضیح میدهیم. double اندازهی ۴ بیت فضا اشغال میکند و اعداد گویا هستند. حال اگر بخواهیم در خود متلب برایتان مثال بزنیم هم امکانپذیر است.
single که در اینجا داریم به چه معناست؟ single نصف double است یعنی فضا را نصف اشغال میکند. یعنی بهگونهای در فضا میتوان صرفهجویی کرد و int هم اعداد صحیح هستند که با علامت و بدون علامت هستند که باعلامت اعداد منفی را هم شامل میشود و بدون علامت اعداد منفی را شامل نمیشود و از صفر شروع میشود که اکنون بیشتر توضیح میدهیم.
ابتدا در خود برنامه متلب کمی در مورد double توضیح میدهیم که چیست. به طور مثال x را به صورت زیر تعریف میکنیم. x در اینجا ۲۰ است.




اگر در قسمت workspace روی x کلیک کنیم، نوشته double است.
حال ما x را 20.25 تعریف میکنیم. در تصویر زیر مشاهده میکنید که این عدد به چه شکل نمایش داده شده است.

در workspace اگر نگاه کنید، یا در همین قسمت جواب دو تا 0 اضافه قرار داده است. یعنی ۴ تا بیت را اشغال کرده است. حال شاید از خودتان بپرسید که بیشتر از ۴ تا باشد، چه اتفاقی میافتد. برای مثال فرض کنید x=20.25678. چه اتفاقی میافتد؟
در قسمت workspace مشاهده میکنید که آن را گرد کرده است. همان ۴ رقم شده است ولی به نزدیکترین عدد به دههزار گرد میکند.

Single هم دقیقاً نصف double است. اما int چیست؟ برای مثال int8 یا int16 یا int32 چیست؟
ابتدا ما u-int که بدون علامت است را برای شما شرح میدهم که چیست. فرض کنید بیتهای ما به صورت زیر نشان داده شوند و ما n تا بیت داریم. یعنی در اینجا ما n تا صفر و یک داریم. پس تعداد حالتهای ما تا میشود. حال اگر بخواهیم این حالتهای کل اعداد این قسمتها را حساب کنیم، از صفر تا میباشد. زیرا بدون علامت است، اعداد نامنفی قابل توصیف نیست. مثلاً u-int8 میشود از صفر تا که میشود از صفر تا ۲۵۵.
در اینجا برایتان نشان داده شده است. ما این قسمت آبی رنگ را داریم شرح میدهیم.

یعنی u-int، unsigned ۸ بیتی باشد، integer است. از 0 تا که n آن ۸ بیت بود که اگر در ماشین حساب بزنید، میشود ۲۵۶ و اگر آن را منهای ۱ کنیم، میشود ۲۵۵.
برای بعدی از یعنی از صفر هست تا که میشود ۶۵۰۵۳.
در این صورت خانهی اول ما مخصوص علامتش است. پس دیگر نیست، بلکه است و یکی از آن کم شده است و اعداد منفی هم شامل میشود. پس از ۲- به توان n-1 است تا . اعداد ما به این صورت هستند. یکی در اینجا کم شده است که مخصوص علامتش است.
حال اگر بخواهیم در تصویر فوق نشان دهیم، یکی کم شده است. n ۸ تا است ولی n-1 داریم یعنی اینکه که n-1 مساوی ۷ است،
با همان 1- یعنی بعدی باید ۱۵ باشد. اعداد به صورتی که توضیح دادیم تعریف میشوند. امیدوارم که متوجه شده باشید. زیرا بسیار ساده است.
حال چند مورد مثال هم بیان میکنیم که کمی بیشتر جا بیفتد و متوجه شوید که برای مثال int چیست.
به برنامهی متلب برمیگردیم. برای مثال میخواهیم عدد بالایی را int8 تبدیل کنیم. میگوییم که int8(x) مشاهده میکنید که عدد ۲۰ را به ما نشان میدهد.

به نظر شما این عدد در آن بازههای گفته شده قرار دارد؟
بازهی آن از ۱۲۸- تا ۱۲۷ است. آیا عدد ۲۰ در این بازه قرار دارد؟ بله. پس ما int8 را در اینجا میتوانیم داشته باشیم.
عدد منفی هم میتواند int داشته باشد. برای مثال y=-20.7567
به نظر شما الان چه اتفاقی میافتد؟ آن را رُند میکند. البته وقتی آنها را تبدیل به int کردیم. یعنی بگوییم y را int کند. اول که اسمگذاری است و 8 آن را میخواهیم. میگوییم آن را به int تبدیل کند. مشاهده میکنید که جواب ۲۱- شد.

۲۰- بود که آن را به سمت بالا گرد کرده است. ما u-int یعنی بدون علامتها را هم داشتیم.
به مثال زیر توجه کنید. گفتیم که منفی ندارد پس باید به ما جواب صفر را بدهد یعنی اینکه چنین چیزی وجود ندارد.

حال اگر مقدارها هم خارج از بازه بود. مثلاً الان ۲۱- و … در بازه هستند و تا ۱۲۸- هم میتوانیم داشته باشیم. ولی اگر خارج از بازه بود، میآییم آن را افزایش میدهیم. یعنی از ۸ تا ۱۶ که میتوانیم مشاهده کنیم در جدول نشان داده شده هم وجود دارد. از ۸ به ۱۶ میرود و از ۱۶ به ۳۲ میرود. در مثال قبل گفتیم که تا ۱۲۸- است. فرض کنیم y ما ۱۲۹- باشد. حال میخواهیم آن را تبدیل کنیم. میگوییم که y_int=int8(y)

که مشاهده میکنید که آن را بالاتر آورده است. زیرا در بازه نبود. یکی از آن کم کرد و به کمترین مقدار رساند.
نکتهی دیگری که میخواهم بگویم string در همهی زبانها وجود دارد. str را تعریف میکنیم که به صورت کاراکتر ذخیره میکند. مثلاً میخواهیم hello sina را تعریف کنیم.


مشاهده میکنید که به صورت یک کاراکتر hello sina را در اینجا برای ما ذخیره کرده است.
حال میخواهیم این را به uint8 تبدیل کنیم.

در بالا به جای uint به اشتباه unit نوشته شده بود.

شاید از خودتان بپرسید که این اعداد چه هستند. اینها مقادیر decimal هستند. یعنی چه؟ مثلاً چرا ۳۲ شده است؟ با توجه به جدول ascii table که اگر در گوگل سرچ کنید، در آنجا تعریف شده است که مثلاً مقادیر decimal برای h عدد ۱۰۴ است.


به همین صورت تمامی characterها در اینجا تعریف شدند. H عدد ۷۲ را میگیرد. توجه داشته باشید که عدد h و H با هم متفاوت هستند. پس این جدول هم اگر دوست داشتید میتوانید در گوگل آن را سرچ کنید و به راحتی آن را پیدا کنید و نگاه کنید و یاد بگیرید.
در اینجا مثال آخر هم بیان میکنیم و این بحث را به اتمام میرسانیم.
در اینجا گفتیم که uint8 یعنی بدون علامت، از چند تا چند است؟ از صفر تا ۲۵۵ است.
فرض کنید که بخواهیم یک تابع تصادفی تعریف کنیم. در تصویر سیاه و سفیدی که میبینید چیست؟ یک ماتریس از جنس uint8 است که میتوان آن را تعریف کرد.
فرض کنید که ماتریس A را داریم که uint8 است و میخواهیم تصادفی باشد. قبلا در مورد تابع randi توضیح دادیم. این تابع از ۰ تا ۲۵۵ است و میخواهیم یک ماتریس به صورت زیر داشته باشیم. در آخر یک علامت ; هم قرار میدهیم که ماتریس را برای ما نمایش ندهد. زیرا شلوغ میشود. میتوانید آن را در workspace مشاهده کنید.

حال میخواهیم تصویر بدهیم. به صورت زیر مینویسیم:

imShow(A) یعنی A را نشان دهد.
میخواهیم ببینیم تصویری را نشان میدهد یا خیر.

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

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