آموزش بدست آوردن پاسخ زمانی ورودی های مختلف در نرم افزار MATLAB

در راستای استقبال دوستان از مباحث کنترل خطی به کمک نرم افزار MATLAB تصمیم گرفتیم آموزش دیگری در این راستا را در سایت قرار دهیم. در این آموزش نحوه ی یافتن پاسخ های زمانی به ورودی پله ، ضربه و هر ورودی دلخواه دیگری به کمک نرم افزار متلب آموزش داده خواد شد.

در ابتدا با دستورات زیر فضای کاری، و متغیرهای و پلات هایی که در حال نمایش هستند بسته خواهند شد.

%% Automatic Control Training
% by matlab1.ir
% May-26-2014
% Site: www.matlab1.ir  
clear                    %Clear Workspace variable
clc                      %Clear Command Windows
close all                %Close all Current Figure

پس از آن نوبت به تعریف تابع دلخواهی است جزئیات مربوط به نحوه ی تعریف تابع تبدیل را می توانید در درس اول مشاهده نمایید. که بدین صورت است که صورت و مخرج تابع تبدیل به صورت جداگانه در دو بردار ذخیره می شوند و سپس با دستور tf تابع تبدیل آنها نوشته می شود.

%% Time response
num=[1,2];               %Numerator of Transfer Function
den=[1 1 3];             %Denominator of Transfer Function
t=0:.05:14;               %Time
sys=tf(num,den);         %Making Transfer Function[y,t]=step(sys);

 بدست آوردن پاسخ زمانی به ورودی پله

برای بدست آوردن پاسخ زمانی به ورودی پله از دستور step به صورت زیر استفاده می شود. ( در مورد دستور plot و آموزش رسم انواع نمودارها به درسی که در نوشته شده است مراجعه نمایید.)

 %% Step Response
y1=step(sys,t);          %Making Step Response
plot(t,y1,’-r’);hold on;%Plot Step Response
text(2.5,.8,’Step Response’,’color’,’r’)

 بدست آوردن پاسخ زمانی به ورودی ضربه

برای بدست آوردن پاسخ زمانی به ورودی ضربه از دستور impulse به صورت زیر استفاده می شود.

%% Step Response
y2=impulse(sys,t);       %Making Impulse Response
plot(t,y2,’-b’)         %Plot Impulse Response
text(2,.25,’Impulse Response’,’color’,’b’)

 

بدست آوردن پاسخ زمانی به هر ورودی دلخواه

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

%% Arbitrary Input Response
u=sin(10*t)-.005*t;           %Arbitrary Input    
y3=lsim(sys,u,t);
plot(t,y3,’-m’)
text(5,-.2,’Arbitrary Input Response’,’color’,’m’)

rr1

1 دیدگاه دربارهٔ «آموزش بدست آوردن پاسخ زمانی ورودی های مختلف در نرم افزار MATLAB»

دیدگاه‌ خود را بنویسید

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