You are on page 1of 26

‫‪MATLAB‬‬

‫در درس سیستمهای‬


‫کنترل خطی‬

‫میثم‬
‫شاهدی‬
MATLAB ‫آشنایی با محیط‬

Workspace

Command Window

Command History
‫‪( MATLAB‬ادامه)‬ ‫آشنایی با محیط‬

‫باز کردن یک فایل ‪M.‬‬

‫منوی ‪File‬‬
‫گزینه ‪New‬‬
‫گزینه ‪M-‬‬
‫‪File‬‬
‫آشنایی با دستورات اولیه‬

‫بزرگ و کوچک بودن حروف در ‪MATLAB‬‬


‫تفاوت دارد‬
‫• ‪ :clc‬محیط ‪ Command Window‬را پاک‬
‫میکند‬

‫• ‪ :clear‬محیط ‪ Workspace‬را پاک می کند‬


‫(در اصل پارامترهای مقداردهی شده را‬
‫پاک می کند)‬
‫آشنایی با دستورات محاسباتی‬

‫مقدار دهی یک متغیر‪:‬‬


‫;‪x=12‬‬
‫تولید یک بردار‪:‬‬
‫;]‪X=[2 10 -4 5 0 6 -1 11‬‬
‫تولید یک ماتریس‪:‬‬
‫‪Y=[1 0‬‬ ‫‪2 ; 0 -4‬‬ ‫‪12 ; 1 6‬‬ ‫;]‪-1‬‬
‫آشنایی با دستورات محاسباتی‬
‫(ادامه)‬

‫جمع‪ ،‬ضرب‪ ،‬تفریق‪ ،‬تقسیم و‬


‫قرینه کردن‪:‬‬
‫‪;z=x+y‬‬
‫‪;z=x*y‬‬
‫‪;z=x-y‬‬
‫‪;z=x/y‬‬
‫آشنایی با دستورات محاسباتی‬
‫(ادامه)‬

‫توان‪:‬‬
‫‪;z=x^y‬‬

‫جذر‪:‬‬
‫‪;)z=sqrt)x‬‬
‫آشنایی با دستورات محاسباتی‬
‫(ادامه)‬

‫•‪ : min‬کوچکترین آرایه یک بردار را بر‬


‫می گرداند‬
‫‪;)M=min)X‬‬
‫•‪ : max‬بزرگترین آرایه یک بردار را بر‬
‫می گرداند‬
‫;(‪N=max)X‬‬
‫برای یافتن بزرگترین یا کوچکترین آرایه‬
‫آشنایی با دستورات محاسباتی‬
‫(ادامه)‬
‫• ‪ :abs‬اندازه یک کمیت مختلط را‬
‫محاسبه می کند‬
‫‪)A=abs)1+i‬‬
‫‪ans=1.4142‬‬
‫• ‪ :angle‬فاز یک کمیت مختلط را بر‬
‫حسب رادیان محاسبه می کند‬
‫(‪P=angle)1+i‬‬
‫آشنایی با دستور شرط‬

‫ساختار شرط‪:‬‬
‫( شرط ) ‪if‬‬
‫دستورات قسمت اول‬
‫‪else‬‬
‫دستورات قسمت دوم‬
‫‪end‬‬
‫(ادامه)‬ ‫آشنایی با دستور شرط‬

‫علئم شرط‪:‬‬
‫‪A==B‬‬ ‫‪A~=B‬‬
‫‪A>B‬‬ ‫‪A>=B‬‬
‫‪A<B‬‬ ‫‪A<=B‬‬
‫&‬ ‫|‬

‫& ‪if )A==B | A+B>B‬‬ ‫مثال‪:‬‬


‫آشنایی با حلقه ‪: for‬‬

‫ساختار حلقه‪:‬‬
‫‪for j=m:s:n‬‬
‫دستورات‬
‫‪end‬‬
‫در ابتدا ‪ j‬با مقدار ‪ m‬مقداردهی می شود و‬
‫با هر بار اجرای دستورات مقدار ‪ s‬به آن‬
‫اضافه می گردد تا به مقدار ‪ n‬برسد‪.‬‬
‫آشنایی با دستورهای کنترل خطی‬

‫• ‪ : tf2ss‬تابع انتقال را به مدل فضای‬


‫‪Y ( s ) num‬‬ ‫حالت تبدیل می کند‪.‬‬
‫=‬
‫‪U ( s ) den‬‬ ‫فرض کنید‪:‬‬
‫اگر ‪ num‬و ‪ den‬آرایه هایی شامل ضرایب‬
‫چندجمله ایهای صورت و مخرج تابع تبدیل‬
‫باشند‪:‬‬ ‫به شکل زیر‪2‬‬
‫‪2 s + 3s − 5‬‬
‫=‬ ‫‪[ num=[ 2 3 -5‬‬ ‫‪3‬‬ ‫‪2‬‬
‫‪s + 3s + 1‬‬
‫آشنایی با دستورهای کنترل خطی‬

‫آنگاه‪:‬‬
‫;(‪[A,B,C,D] = tf2ss)num,den‬‬
‫ماتریسهای ‪ A ،B ،C‬و ‪ D‬مربوط به فضای‬
‫حالت سیستم را برمی گرداند‪.‬‬
‫ماتریسهای بدست آمده مربوط به یکی از‬
‫بی شمار مدلهای فضای حالت ممکن برای‬
‫سیستم است‪.‬‬
‫آشنایی با دستورهای کنترل خطی‬

‫• ‪ : ss2tf‬مدل فضای حالت را به تابع‬


‫انتقال تبدیل می کند‪.‬‬
‫اگر چهار ماتریس مربوط به فضای حالت‬
‫در اختیار باشد‪:‬‬
‫(‪[num,den]=ss2tf)A,B,C,D,iu‬‬
‫تابع تبدیل سیستم را به صورت دو بردار‬
‫صورت و مخرج (بر اساس ورودی ‪iu‬‬
‫آشنایی با دستورهای کنترل خطی‬

‫•‪ : tf‬نمایش تابع تبدیل‪:‬‬


‫(‪tf)num,den‬‬
‫تابع تبدیل سیستم را به صورتی که در‬
‫ریاضیات نوشته می شود (نسبت دو چند‬
‫جمله ای) ارائه می نماید‪:‬‬
‫‪25 s + 5‬‬
‫‪----------------------‬‬
‫‪s^3 + 5 s^2 + 25 s + 5‬‬
‫آشنایی با دستورهای کنترل خطی‬

‫•‪ : step‬نمایش پاسخ حالت گذرا به ورودی‬


‫پله واحد‬
‫(‪step)num,den,t‬‬
‫تابع تبدیل را به صورت دو آرایه از ضرایب‬
‫چندجمله ایهای صورت و مخرج دریافت می‬
‫کند و در صفحه ای جدید نمودار پاسخ حالت‬
‫گذرای سیستم به ورودی پله را تا زمان ‪t‬‬
‫رسم می نماید‪.‬‬
‫آشنایی با دستورهای کنترل خطی‬

‫مثال‪:‬‬
‫;(‪step)[25 5],[1 5 25 5],10‬‬
‫آشنایی با دستورهای کنترل خطی‬
‫اگر از دستور ‪ step‬به شکل زیر استفاده‬
‫نماییم اندازه نمودار در تعداد ‪ 101‬نقطه در‬
‫آرایه ای به نام ‪ a‬ذخیره می گردد و نمودار‬
‫پاسخ نمایش داده نمی شود‪:‬‬
‫;(‪a=step)num,den‬‬

‫این کار برای انجام محاسبات مربوط به‬


‫پاسخ حالت گذرا مناسب است‪.‬‬
‫برای تقسیم بندی دلخواه زمان‪ t ،‬را به‬
‫آشنایی با دستورهای کنترل خطی‬

‫•‪ : ord2‬تولید تابع تبدیل یک سیستم مرتبه‬


‫دوم استاندارد به شکل زیر‪:‬‬
‫)‪C ( s‬‬ ‫‪1‬‬
‫‪= 2‬‬
‫‪R ( s ) s + 2ζω n s + ω n2‬‬

‫;(‪[num,den]=ord2)wn,damp_ratio‬‬
‫توجه کنید که صورت تابع تبدیل یک است‪.‬‬
‫آشنایی با دستورهای کنترل خطی‬

‫•‪ : rlocus‬ترسیم مکان هندسی ریشه های‬


‫تابع انتقال حلقه بسته‬
‫;(‪rlocus)num,den,K‬‬
‫مکان هندسی ریشه ها را برای مقادیر‬
‫آرایه ‪ K‬رسم می کند‪.‬‬
‫مقداردهی ‪ K‬اختیاری است‪.‬‬
‫مکان هندسی ریشه ها قابل ذخیره سازی‬
‫آشنایی با دستورهای کنترل خطی‬

‫•‪ : bode‬ترسیم نمودار بود یک سیستم‬


‫‪;)bode)num,den,w‬‬
‫نمودار بود سیستم را به ازای مقادیر آرایه‬
‫‪ w‬رسم می کند‪( .‬مقداردهی ‪ w‬اختیاری‬
‫است)‬
‫نمودار بود قابل ذخیره سازی در سه بردار‬
‫است‪.‬‬
‫آشنایی با دستورهای کنترل خطی‬

‫•‪ : nyquist‬ترسیم نمودار نایکوییست یک‬


‫سیستم‬
‫;(‪nyquist)num,den,w‬‬
‫نمودار نایکوییست را برای مقادیر‬
‫فرکانسی آرایه ‪ w‬رسم میکند‪.‬‬
‫مقداردهی ‪ w‬اختیاری است‪.‬‬
‫نایکوییست قابل ذخیره سازی در سه‬
‫آشنایی با دستورهای کنترل خطی‬

‫اگر در هنگاه رسم نمودار نایکوییست‬


‫برنامه ‪ MATLAB‬خطای تقسیم به صفر‬
‫داد‪ ،‬محدوده نمایش نمودار را با دستور‬
‫‪ axis‬تصحیح کنید‪:‬‬
‫‪;)[axis)[x1 x2 y1 y2‬‬
‫این دستور محور افقی را در محدوده ‪ x1‬تا‬
‫‪ x2‬و محور عمودی را در محدوده ‪ y1‬تا ‪y2‬‬
‫ترسیم می کند‪.‬‬
‫!‬
‫نباشید‬ ‫خسته‬

You might also like

  • Quizz 1 B
    Quizz 1 B
    Document1 page
    Quizz 1 B
    api-3724389
    No ratings yet
  • Quizz1B Solutions
    Quizz1B Solutions
    Document1 page
    Quizz1B Solutions
    api-3724389
    No ratings yet
  • HWS02
    HWS02
    Document1 page
    HWS02
    api-3724389
    No ratings yet
  • HW08
    HW08
    Document1 page
    HW08
    api-3724389
    No ratings yet
  • Quizz 1
    Quizz 1
    Document1 page
    Quizz 1
    api-3724389
    No ratings yet
  • Last Session
    Last Session
    Document4 pages
    Last Session
    api-3724389
    No ratings yet
  • HW08 S
    HW08 S
    Document3 pages
    HW08 S
    api-3724389
    No ratings yet
  • HW06 S
    HW06 S
    Document4 pages
    HW06 S
    api-3724389
    No ratings yet
  • HW06
    HW06
    Document1 page
    HW06
    api-3724389
    No ratings yet
  • HW05
    HW05
    Document3 pages
    HW05
    api-3724389
    No ratings yet
  • HWS01
    HWS01
    Document1 page
    HWS01
    api-3724389
    No ratings yet
  • HW03
    HW03
    Document2 pages
    HW03
    api-3724389
    No ratings yet