آموزش مطلب توسط مصطفی نرگسی ( قسمت دوم )

سلام . بدلیل در خواست های متعدد دوستان مبنی بر آموزش simulink نرم افزار مطلب - آموزش قسمت برنامه نویسی مطلب را بصورت خلاصه و با ارائه چند مثال توضیح داده و به مبحث simulink می پردازیم . چون رسم مکان ریشه یکی از مفید ترین کاربردهای مطلب در کنترل می باشد - برای توضیح و مثال های برنامه نویسی رسم مکان ریشه چند نوع سیستم را توضیح خواهیم داد .

 

نرم افزار مطلب

اساس عملکرد Matlab

     اساس عملکرد اين نرم افزار ماتريسها مي باشند . در اصل اين نرم افزار با عمليتهاي ماتريسي و محا سبات ۱۰۰ در صد عملي نتايج عملي و مفيدي به ما ميدهد . پس به شما توصيه مي کنم قبل از کار با اين نرم افزار کمي با ماتريسها آشنايي پيدا کنيد .

تعريف متغيرها :

         در نرم افزار Matlab  تغيير متغير ها به سادگي و به صورت زير انجام پذير مي باشد :

A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]

در اصل عبارت بالا يک متغير ( آرايه ) با ۴ درايه ي افقي و ۴ درايه ي  عمودي تعريف مي کند .

پس از انجام اين عمل و زدن کليد Enter  شما با عکس العمل زير مواجه مي شويد :

A =
    16     3     2    13
     5    10    11     8
     9     6     7    12
     4    15    14     1

 در صورتي که مايليد تيجه ي عمل خود را نبينيد مي توانيد از يک ";" در آخر عمليات خود استفاده کنيد يعني :

A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1];

براي دسترسي به هر آرايه مي توانيد از قاعده ي زير کمک بگيريد :

A = (3,4);

 که در مثال بالا برابر ۱۲ مي باشد .

               براي اينکه به يک آرايه مثلاْ از 0 تا ۲۰ و ۲ تا ۲ تا عدد بدهيد از قاعده ي زعر استفاده مي کنيد :

A = 0:2:20

 

و جواب شما يک ماتريس ۱ در ۱۰ و با اعضاي زوج ۰ تا ۲۰ است .

آشنایی با محیط MATLAB

با اجرای MATLAB پنجره ای مطابق شکل باز می شود . روي شکل کاربرد تمام اين منو ها  توضيح داده شده است . به شکل زير توجه کنيد :

مقدمات کار با matlab :

در matlab اعمال ساده ریاضی را به راحتی می توان انجام داد. کافی است عبارت مورد نظر را در پنجره Command تایپ کنید:

<< 2+6/2

ans=

       5

و یا می توان مقادیر را در چند متغیر ذخیره کرده و روی متغیرها عملیات محاسباتی را انجام دهیم.

در نام گذاری متغیرها باید به این نکات توجه کرد:

  • matlab نسبت به حروف بزرگ و کوچک حساس است.
  • اسامی متغیرها حداکثر 31 کاراکتر می تواند باشد.
  • اسم متغیر نباید از کلمات تعریف شده برای matlab باشد و حتما باید با حرف شروع شود.
  • از underline در نامگذاری متغیرها می توان استفاده کرد، اما از کاراکترهای علامت و دستوری نمی توان استفاده کرد.
  • بین حروف یک کلمه نباید فاصله وجود داشته باشد.
  • تمام دستورات و عبارات کلیدی matlab با حروف کوچک نوشته می شود. بنابراین می توان اسامی آنها را با حروف بزرگ برای نام گذاری متغیرها به کار برد.

ترفند:

برای شناسایی کلمات کلیدی matlab می توان از دستور iskeyword استفاده کرد. این تابع در صورتی که عبارت یک کلمه کلیدی باشد مقدار یک و در غیر این صورت مقدار صفر را برمی گرداند:

>>iskeyword('for)

ans=

     1

>>iskeyword('keyword)

ans=

      0

در matlab متغیرهای ویژه ای وجود دارد که هریک مقادیر خاصی را در خود ذخیره می کنند:

  • ans برای ذخیره مقادیری که کاربر متغیری را برای ذخیره آنها در نظر نگرفته است.
  • pi مقدار عدد پی
  • eps کوچکترین عدد مثبت بزرگتر از صفر.( بزرگترین عددی که اگر با یک جمع شود باز هم یک را به عنوان نتیجه برمی گرداند.)
  • inf به عنوان علامت بی نهایت
  • Nan یا nan مقدار غیر عددی( نتیجه تمام عملگرها روی NaNها، NaN است.)

چند نکته:

  • اگر بخواهیم چند دستور را در یک خط بنویسیم باید از کاما بین دستورات استفاده کنیم. همچنین قرار دادن سمیکالن (;) در انتهای دستور باعث می شود محاسبات انجام شود ولی نتایج نمایش داده نشود.
  • با استفاده از کلیدهای جهتی می توانید دستورات قبلی را مرور کنید.
  • بهترین روش برای خواناتر شدن یک برنامه استفاده از جملات توضیحی می باشد. در matlab این جملات بعد از علامت % می آید.
  • گاهی اوقات یک فرمان ممکن است آن قدر طولانی باشد که نتوان آن را در یک خط نمایش داد. برای حل این مشکل می توان در آخر سه نقطه گذاشته و ادامه دستور را در خط بعد تایپ کرد.
  • برای توقف پردازش برنامه از ctrl + c استفاده می شود.

قالب های نمایش اعداد:

در matlab اعداد با فرمت های مختلفی به نمایش در می آیند. از مهمترین آنها می توان به فرمتهای زیر اشاره کرد:

  • short:نمایش اعداد تا 4 رقم اعشار (پیش فرض matlab) 
  • short e:عدد 5 رقم با توان علمی
  • hex:در مبنای 16
  • long:نمایش اعداد تا 16 رقم
  • bank:نمایش اعداد با دقت دورقم اعشار
  • +:علامت عدد را نشان می دهد
  • rat:نمایش به صورت تقریب کسری

مثلا برای تعیین فرمت +کافی است دستور + format را در پنجره ی command وارد کرده و Enter کنید. سپس عددی را وارد کرده و نتیجه را مشاهده نمایید.

برای گرد کردن اعداد روشهای مختلفی وجود دارد، تمام این روشها را می توان در matlab یافت:

  • fix گرد کردن به طرف صفر
  • floor گرد کردن به طرف منفی بی نهایت
  • ceil گرد کردن به طرف مثبت بینهایت
  • round گرد کردن به طرف نزدیکترین عدد صحیح

مثال:

>>fix(2.30)

ans=

     2

چند دستور کلیدی در matlab:

برای اجرای هر یک از دستورات زیر آنها را در پنجره ی command تایپ کرده و Enter کنید:

date: این دستور تاریخ را نمایش می دهد.

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

a<<

=a

   12

clear a<<

a<<

.'undefined function or variable 'a???

** اگر دستور clear را به تنهایی و بدون ذکر نام متغیر خاصی به کار ببریم تمام متغیرها پاک خواهند شد.

delete: با استفاده از این دستور می توان فایل های موردنظر و موجود در پوشه جاری matlab را پاک کرد.مثلا دستور زیر تمام فایلهای با پسوند p در دایرکتوری جاری را پاک می کند:

delete *.p<<

disp: مقادیر یک متغیر را بدون نمایش نام آن چاپ می کند.

clc: صفحه را پاک می کند اما در حافظه تغییری ایجاد نمی کند.

Help:همانطور که در جلسه ی دوم توضیح دادم با این دستور می توان به متن راهنمای یک دستور دست پیدا کرد.

lookfor:تفاوت این دستور با دستور help در این است که برای استفاده از help باید دقیقا نام دستور وارد کنید، اما با استفاده از lookfor نیازی به دانستن نام دقیق دستور نیست.کافی است آنچه مورد نیازتان است به صورت کلمه کلیدی وارد کنید.اما عیبی که این روش دارد این است که سرعت کمتری نسبت به دستور help دارد.

** در صورتی که بخواهیم عملیات در حال انجام matlab متوقف شود باید از کلیدهای ctrl+break استفاده کنیم.(این برای متوقف کردن جستجو در دستور lookfor هنگامی که سرعت کامپیوتر پایین باشد مناسب است.)

معرفی چند تابع:

  • abs(x)معادل |x|
  • sin(x)
  • asin(x) معادل arcsin(x)
  • asinh(x) معادل arcsinh(x)
  • exp(x) معادل ex
  • conj(x) نمایش مزدوج مختلط
  • imag(x) قسمت مختلط عدد را نمایش می دهد
  • real(x) قسمت غیرمختلط عدد را نمایش می دهد

اميدوارم که استفاده کرده باشيد . در مطالب بعدی راجع به کاربرد matlab در برق و پروژه های عملی صحبت خواهد شد . نظر یادتون نره . 

منبع :

www.prdev.com

 www bargh1.tk