آموزش بدست آوردن پاسخ زمانی ورودی‌های مختلف در نرم افزار 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”

پیام بگذارید

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

seventy seven + = eighty one