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

معرفی نرم افزار متلب (MATLAB):

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

آشنایی با محیط اصلی نرم افزار متلب :

هنگامی که وارد محیط نرم افزار متلب بشوید، پنجره اصلی نرم افزار، خود شامل پنجره های زیر است :

پنجره Command :

در پنجره Command می توانیم دستورات خود را نوشته و سپس با فشار دادن کلید enter از کیبورد، نتایج اجرای دستورات را، در همین پنجره، مشاهده کنیم.

پنجره Workspace :

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

پنجره Current Folder :

در پنجره Current Folder می توانیم پوشه ای که در آن فایل های متلب مورد نظرمان وجود دارد را مشاهده کنیم و به آسانی پوشه و یا فایل های مورد نظرمان را بیابیم.

پنجره Command History :

در پنجره Command History ، لیستی از دستوراتی که در متلب اجرا کرده ایم، نمایش داده می شود.

نحوه اجرای دستورات در متلب :

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

نوشتن دستورات در پنجره Command :

ابتدا باید در پنجره Command کلیک کنید تا فعال شود، سپس می توانید دستورات مورد نظر خود را وارد کرده و با فشار دادن کلید enter از کیبورد، نتیجه اجرای دستورات را در همان پنجره ببینید.

مثال

۱+۳

نتیجه به صورت زیر در پنجره Command نمایش داده می شود :

نتیجه :

= ans

۴

ans نمایشگر ابتدای کلمه answer است. هنگامی که در متلب برای نتیجه یک محاسبه، نامی انتخاب نشده باشد، خود نرم افزار متلب، نام ans را برای آن انتخاب می کند، یعنی این که متغیری به نام ans با مقدار ۲ ایجاد می کند. چنانچه برای محاسبات بعدی به این عدد احتیاج داشته باشید، باید حتما نام دیگری برای آن انتخاب کنید (مثلا a=1+3) زیرا نرم افزار متلب به دستور بعدی که نام متغیری برای آن در نظر گرفته نشده باشد، دوباره نام ans را اختصاص می دهد و عملا مقدار قبلی آن پاک می شود.

نکته

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

نکته

چنانچه بخواهید نتیجه اجرای خطی از دستورات در پنجره Command نمایش داده نشود، تنها کافی است که در پایان آن خط از دستورات، علامت ; را بنویسید. با به کار بردن این علامت در پایان هر خط، متلب دستورات آن خط را اجرا کرده و نتیجه محاسبات را در متغیرها ذخیره می کند، اما نتیجه محاسبات را در پنجره Command نمایش نخواهد داد.

عملگرهای ریاضی در متلب (MATLAB):

در متلب برای استفاده از عملگرهای ریاضی، دو شیوه به کار رفته است. شیوه اول برای عملگرهای بسیار رایج می باشد، مانند جمع، تفریق، ضرب، تقسیم و … که متلب برای هر کدام از آنها یک نماد را در نظر گرفته است، یعنی شما در هنگام نوشتن دستورات، تنها کافی است که از کیبورد، نماد مربوط به آن عملگر را در خط دستورات وارد کنید (مثلا زدن دکمه مربوط به نماد * از کیبورد برای عملگر ضرب).

شیوه دوم، استفاده از تابع است. متلب برای عملگرهای ریاضی که میزان استفاده از آنها زیاد نیست، دستوراتی را ساخته است و شما باید نام آن دستورات و نحوه استفاده از آنها را بدانید (مثلا برای عملگر رادیکال ۲ ، دستور sqrt در نظر گرفته شده است).

در ادامه عملگرهای مربوط به هر دو شیوه را شرح خواهیم داد.

عملگرهای ریاضی مشخص شده با نماد در متلب :

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

عملگر نماد در متلب
جمع +
تفریق
ضرب *
تقسیم /
به توان ^
مثال:

    ۳*۲-(۳*۴)/۲+۴^۲

نتیجه :

=ans

۱۶

مثال: 

برای به توان ۲ رساندن عدد ۳ ، این گونه می نویسیم :

۳^۲

نتیجه :

= ans

۹

عملگرهای ریاضی مشخص شده با دستور در متلب :

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

عملگر دستور در متلب
رادیکال ۲ sqrt
Ln (لگاریتم طبیعی) log
Log (لگاریتم بر مبنای ۱۰) log10
مثال:


با دستور sqrt ، رادیکال ۲ عدد ۴ را محاسبه می کنیم :

(A=sqrt(4

نتیجه :

= A

۲

مثال:

با دستور log10 ، لگاریتم بر مبنای ۱۰ عدد ۱۰۰ را محاسبه می کنیم :

(A=log10(100

نتیجه :

A =

۲

انواع متغیرها و مقداردهی به متغیرها در متلب (MATLAB):

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

انواع متغیرها :

در نرم افزار متلب، انواع مختلفی از متغیرها وجود دارد. برخی از آنها را شرح می دهیم :

متغیرهای عددی :

این متغیرها می توانند دارای مقادیر عددی باشند. به مثال زیر توجه کنید :

مثال

فرض کنید بخواهیم به متغیر A ، مقدار ۲ را نسبت بدهیم. باید بنویسیم :

A=2

نتیجه :

 

=A
۲

متغیر های رشته ای (string) :

چنانچه متغیری را بخواهیم به صورت یک رشته از حروف تعریف کنیم، باید از علامت ‘ استفاده کنیم. به مثال زیر توجه کنید :

مثال:

s=’this is a string’

نتیجه :

= s

this is a string

نکته

دقت شود که استفاده از علامت ‘ برای ایجاد رشته ها ضروری است و چناچه از این علامت استفاده نشود، با پیام خطا مواجه می شویم. این موضوع را در مثال زیر نشان داده ایم :

مثال:

s=this is a string

نتیجه :

s=this is a string
|
Error: Unexpected MATLAB expression.

متغیرهای سمبلیک :

گاهی نیاز است که متغیر تنها به صورت سمبلیک (مثلا با حرف x) تعریف شود تا با آن معادلاتی را به صورت نمادین حل کنیم. در مورد متغیرهای سمبلیک در مباحث دیگر به صورت مفصل صحبت خواهیم کرد.

دستور whos :

چنانچه تعداد متغیرهایی که در متلب تعریف کرده اید، از حدی بیشتر شود، به سختی می توانید نام آنها را به یاد آورید. برای آنکه بتوانید تمامی متغیرهایی که در متلب تعریف کرده اید را به صورت فهرست وار ببینید، تنها کافی است که دستور whos را اجرا کنید. لیست تمامی متغیرهای تعریف شده در متلب در خروجی نمایش داده می شود و نوع هر متغیر، فضای اختصاص داده شده به آن و اندازه آن را می توانید مشاهده کنید. به مثال زیر توجه کنید :

مثال:
whos

نتیجه :

Name      Size            Bytes  Class    Attributes

A         ۱×۱               ۱۱۲  sym
B         ۱×۱               ۱۱۲  sym
C         ۱×۱               ۱۱۲  sym
ans       ۱×۱               ۱۱۲  sym
x         ۱×۱               ۱۱۲  sym
y         ۱×۱               ۱۱۲  sym

اما باید دقت کنید که در فهرست فوق، مقادیر متغیرها نمایش داده نشده است. برای مشاهده مقدار هر متغیر، تنها کافی است که نام متغیر را در پنجره command نوشته و سپس کلید enter از کیبورد را فشار دهید، مقدار متغیر نمایش داده خواهد شد.
علاوه براین، Workspace به صورت گرافیکی، لیستی از تمامی متغیرهای تعریف شده در متلب را نمایش می دهد.

دستور clear :

این دستور برای پاک کردن متغیرهای تعریف شده در متلب به کار می رود. این دستور را می توان به شیوه های زیر به کار برد :

clear تمامی متغیرهای تعریف شده در متلب را پاک می کند
clear all تمامی متغیرهای تعریف شده در متلب را پاک می کند
clear x y تنها متغیرهای x و y را پاک می کند

نکته مهم:

یک برنامه نویس متلب، معمولا اولین دستوری که در برنامه خود به کار می برد، دستور clear all می باشد، زیرا امکان این که متغیرهایی که قبلا در متلب، توسط برنامه های قبلی، تعریف شده اند در برنامه جدید اختلال ایجاد کنند، زیاد است. این نکته در اجرای برنامه های طولانی و پیچیده، از اهمیت زیادی برخوردار است.

نمادهای پرکاربرد در متلب (MATLAB):

در نرم افزار متلب، برای برخی مقادیر که معمولا پرکاربرد می باشند، نمادهایی منحصر به فرد در نظر گرفته شده است. به عنوان مثال، برای عدد مشهور ((پی)) که در ریاضیات بسیار به کار می رود، نماد pi انتخاب شده است. به مثال زیر توجه کنید :

مثال
                                                                           A=pi

نتیجه :

                                                                          =A

۳.۱۴۱۶

برخی از نمادهای پرکاربرد در نرم افزار متلب را در جدول زیر نمایش داده ایم :

عدد مشهور پی
( ۳.۱۴۱۵ )

pi

بینهایت

Inf

موهومی

i

کوچکترین عدد ممکن
(اپسیلون)
( ۲.۲۲۰۴e-016 )

eps

به صورت یک عدد تعریف نشده است
(مبهم)
(در حالت ۰/۰ رخ می دهد)

NaN

بزرگترین عدد حقیقی مثبت
( ۱.۷۹۷۷e+308 )

realmax

کوچکترین عدد حقیقی مثبت
(۲.۲۲۵۱e-308 )

realmin

استفاده از Help متلب، می تواند در موارد مختلف به شما کمک کند. در اینجا می خواهم نکته ای را به شما بگویم که بسیار مهم است : (( Help متلب، در برخی مواقع، بهترین انتخاب نیست ! ))

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

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

باز کردن پنجره Help متلب :

در پنجره اصلی نرم افزار متلب، از منوی Help ، گزینه Product Help را انتخاب کنید. پنجره Help متلب باز می شود. در پنجره Help ، قسمتی برای جستجو وجود دارد که می توانید با آن، کلمه یا کلمات مورد نظر خود را وارد کرده و به جستجو در صفحات Help متلب بپردازید.

نحوه دیدن صفحات Help متلب با دستور help :

تنها کافی است که در پنجره Command ، تایپ کنید :

 

help

و سپس کلید enter از کیبورد را فشار بدهید. لیستی از صفحات Help متلب به صورت لینک، در پنجره Command ، نمایش داده می شود و می توانید بر روی آنها کلیک کرده و مطالب مورد نظر خود را مشاهده کنید.

نکته

اگر بخواهیم Help مربوط به یک دستور خاص را ببینیم، باید پس از کلمه help ، نام آن دستور را بنویسیم. به مثال زیر توجه کنید :

مثال

فرض کنید بخواهیم Help مربوط به دستور isequal را مشاهده کنیم، برای این منظور می نویسیم :

help isequal

نتیجه :

ISEQUAL True if arrays are numerically equal.
ISEQUAL(A,B) returns logical ۱ (TRUE) if arrays A and B are the same
size and contain the same values, and logical ۰ (FALSE) otherwise.

If A is defined and you set B = A, ISEQUAL(A,B) is not necessarily
true. If A or B contains a NaN element, ISEQUAL returns false because
NaNs are not equal to each other by definition.

ISEQUAL(A,B,C,…) returns logical ۱ if all the input arguments are
numerically equal, and logical ۰ otherwise.

When comparing numeric values, ISEQUAL does not consider the class
of the values in determining whether they are equal. In other words,
INT8(5) and SINGLE(5) are considered equal. This is also true when
comparing numeric values with certain nonnumeric values. Numeric ۱
is equal to logical ۱. The number ۶۵ is equal to the character ‘A’.

When comparing handle objects, use EQ or the == operator to test
whether objects are the same handle. Use ISEQUAL to test if objects
have equal property values, even if those objects are different
handles.

ISEQUAL recursively compares the contents of cell arrays and
structures.  If all the elements of a cell array or structure are
numerically equal, ISEQUAL returns ۱.

When comparing structures, the order in which the fields of the
structures were created is not important. As long as the structures
contain the same fields, with corresponding fields set to equal values,
isequal considers the structures to be equal.

See also isequalwithequalnans, eq.

Overloaded methods:
matlab.desktop.editor.Document/isequal
MException/isequal
timer/isequal
serial/isequal
instrument/isequal
daqdevice/isequal
daqchild/isequal
codistributed/isequal
fints/isequal
imaqdevice/isequal
imaqchild/isequal
iviconfigurationstore/isequal
icgroup/isequal
atom/isequal
categorical/isequal
laurpoly/isequal
laurmat/isequal

Reference page in Help browser
doc isequal

برخی از اطلاعات بالا، در پنجره Command از نرم افزار متلب ، به صورت لینک نمایش داده می شوند و چنانچه بر روی آنها کلیک کنید، اطلاعات بیشتری نمایش داده خواهد شد.

نمایش صفحه Help یک دستور با دستور doc در متلب :

همان طور که گفتیم، چنانچه پس از دستور help ، نام یک دستور متلب را بنویسیم، نرم افزار متلب اطلاعاتی از help آن دستور را در پنجره Command نمایش خواهد داد، اما شاید بخواهیم که صفحه مربوط به help آن دستور ،در پنجره اصلی Help خود متلب نمایش داده شود. برای این منظور، باید از دستور doc استفاده کنیم. بنابراین چنانچه از دستور doc استفاده کنیم، آنگاه متلب، پنجره مربوط به Help را باز کرده و صفحه اصلی مربوط به آن دستور را نمایش خواهد داد. به مثال زیر توجه کنید :

مثال

فرض کنید بخواهیم صفحه اصلی Help مربوط به دستور isequal را در خود پنجره Help متلب مشاهده کنیم، برای این منظور می نویسیم :

doc isequal

نتیجه :

متلب پنجره Help را باز کرده و صفحه اصلی Help مربوط به دستور isequal را نمایش خواهد داد.

ادامه دادن دستورات طولانی در خط بعد، در متلب (MATLAB):

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

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

مثال:

;A=2
;B=3
…*C=A
B

نتیجه :

= C

۶

دقت کنید که ادامه کدها در خط بعدی، دقیقا از زیر علامت سه نقطه (…) شروع شده است و با این روش نمایش، به راحتی می توان تشخیص داد که کدهای این خط در ادامه کدهای خط قبل از خود می باشد.

مسیرها (paths)، در متلب (MATLAB)

برای آشنایی با مفهوم مسیرها (paths) در متلب، بهتر است ابتدا بخشی از روند اجرای دستورات در متلب را شرح بدهیم. وقتی نرم افزار متلب در حال اجرای دستورات است، زمانی که به یک کلمه خاص برسد، یک روند کلی را طی می کند. ابتدا در workspace که در آن متغیرهای تعریف شده، نگهداری می شوند، جستجو می کند تا ببیند آیا آن کلمه، مربوط به یک متغیر است یا خیر. اگر متغیری با آن نام پیدا نکند، سپس فرض می کند که آن نام، مربوط به یک تابع (function)، یک m-file یا یک فایل .mat می باشد. نرم افزار متلب برای یافتن m-file یا فایل .mat (یا هر نوع دیگری از فایل ها، در صورتی که به آن نوع فایل اشاره کرده باشیم)، ابتدا به درون آدرس Current Folder نگاه می کند تا فایلی با آن نام بیابد، اگر پیدا نکرد، آنگاه به سراغ لیستی از آدرس های تعریف شده در متلب می رود تا درون آن فولدرها را نیز جستجو کند. به هر یک از آدرس های موجود در این لیست، یک مسیر (path) می گوییم.

بنابراین چنانچه بخواهیم با فایل های موجود در یک فولدر خاص، درون ویندوز، کار کنیم، ابتدا باید آدرس آن را به صورت یک مسیر، به مسیرهای تعریف شده در متلب، اضافه کنیم.

افزودن یک مسیر به مسیرهای تعریف شده در متلب، با دستور addpath :

برای افزودن یک مسیر به متلب، می توانیم از دستور addpath استفاده کنیم. مثلا فرض کنید که بخواهیم با فایل های موجود در درایو C کامپیوتر کار کنیم، برای این منظور، باید آدرس مربوط به درایو C کامپیوتر را به صورت یک مسیر در متلب، تعریف کنیم. برای این منظور، کدهای زیر را می نویسیم

;/:addpath c

حذف یک مسیر از مسیرهای تعریف شده در متلب، با دستور rmpath :

برای حذف یک مسیر از مسیرهای تعریف شده در متلب، دستور rmpath به کار می رود. مثلا فرض کنید که آدرس فولدر C را به عنوان یک مسیر در متلب تعریف کرده باشیم و اکنون بخواهیم این مسیر را حذف کنیم، برای این منظور، کدهای زیر را می نویسیم :

;/:rmpath c

افزوده شدن یک مسیر، هنگام ساخت یک m-file جدید :

همان طور که می دانید، m-file ها، فایل هایی می باشند که در آنها، کدهای متلب مورد نظر خود را نوشته و ذخیره می کنیم (در مواردی که دیگر پنجره command ، جوابگوی نیاز ما نیست). اگر نمی دانید m-file چیست، مباحث مربوط به آن را بخوانید. هنگامی که یک m-file جدید در متلب می سازیم و آن را در یک فولدر دلخواه در کامپیوتر خود، ذخیره می کنیم، فرض کنید که پس از آن، بخواهیم m-file را اجرا کنیم (یعنی بر روی دکمه Run در بالای ادیتور کدها، کلیک کنیم)، در این مرحله، چنانچه فولدر مورد نظر، جزء مسیرهای تعریف شده در متلب نباشد، پنجره ای به شکل زیر نمایش داده می شود :

Matlab editor

همان طور که مشاهده می کنید، نرم افزار متلب، اخطار داده است که آدرسی که m-file در آن قرار دارد، نه به عنوان Current Folder تعیین شده و نه جزء مسیرهای تعریف شده در متلب است. با گزینه هایی که در این پنجره، نمایش داده شده است، می توانید انتخاب کنید که آدرس این فایل، به عنوان Current Folder در نظر گرفته شود و یا اینکه به مسیرهای تعریف شده در متلب، افزوده گردد. بنابراین چنانچه یک m-file در یک فولدر دلخواه داشته باشیم و بخواهیم آن را با متلب اجرا کنیم، نیازی نیست که حتما بخواهیم با کدنویسی، ابتدا مسیر آن را به مسیرهای تعریف شده در متلب اضافه کنیم، بلکه خیلی راحت، می توانید m-file مورد نظر را باز کرده، سپس بر روی دکمه Run در بالای ادیتور کدها، کلیک کنید و سپس در پنجره ای که نمایش داده می شود، گزینه Add to Path را انتخاب نمایید.

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

چنانچه بخواهیم بدون استفاده از کدنویسی و تنها با استفاده از گزینه های موجود در منوی نرم افزار متلب، یک مسیر را به مسیرهای تعریف شده در متلب اضافه کنیم، باید در پنجره نرم افزار متلب، از منوی File ، گزینه Set Path را انتخاب کنیم :

set path

پنجره ای به شکل زیر نمایش داده می شود :

add folder

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

browse for folder

اکنون در این پنجره، پوشه (folder) مورد نظرمان که می خواهیم آدرس آن به مسیرهای تعریف شده در متلب افزوده شود را انتخاب کرده و بر روی گزینه OK کلیک می کنیم. سپس در پنجره قبلی، بر روی گزینه Save کلیک کرده و آن را می بندیم :

seve

بنابراین آدرس پوشه مورد نظر به مسیرهای تعریف در متلب افزوده می شود.

اشتراك گذاری نوشته

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *