آموزش بدست آوردن پاسخ زمانی ورودی های مختلف در نرم افزار MATLAB – درس دوم
در راستای استقبال دوستان از مباحث کنترل خطی به کمک نرم افزار MATLAB تصمیم گرفتیم آموزش دیگری در این راستا را در سایت قرار دهیم. در این آموزش نحوه ی یافتن پاسخ های زمانی به ورودی پله، ضربه و هر ورودی دلخواه دیگری به کمک نرم افزار متلب آموزش داده خواد شد. برای مشاهده ی آموزش به ادامه مطلب مراجعه نمایید.
در صورت داشتن هرگونه سوال، لطف کنید سوالاتتون رو در قسمت نظرات مطرح کنید. و در صورت داشتن پروژه در خصوص نرم افزار MATLAB و مهندسی مکانیک ، کنترل، محاسبات عددی، SIMULINK، SimMechanics میتوانید از طریق ایمیل و تلفن در قسمت تماس با ما، ارتباط برقرارکنید.
آموزش بدست آوردن پاسخ زمانی ورودی های مختلف در نرم افزار MATLAB – درس دوم
- آموزش بدست آوردن پاسخ زمانی ورودی های مختلف در نرم افزار
- Time response to different inputs on MATLAB
در راستای استقبال دوستان از مباحث کنترل خطی به کمک نرم افزار MATLAB تصمیم گرفتیم آموزش دیگری در این راستا را در سایت قرار دهیم. در این آموزش نحوه ی یافتن پاسخ های زمانی به ورودی پله، ضربه و هر ورودی دلخواه دیگری به کمک نرم افزار متلب آموزش داده خواد شد.
در ابتدا دستورات در شکل زیر نشان داده شده است و پس از آن قسمت به قسمت آن توضیح داده شده است.
در ابتدا با دستورات زیر فضای کاری، و متغیرهای و پلات هایی که در حال نمایش هستند بسته خواهند شد.
%% Automatic Control Training
% by Mohsen Rezaie
% May-26-2014
% Site: www.mechanicsoft.ir & matlabsoft.blogsky.com
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 و آموزش رسم انواع نمودارها به درسی که در پست45 نوشته شده است مراجعه نمایید.)
%% 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’)
در صورت داشتن هرگونه سوال، لطف کنید سوالاتتون رو در قسمت نظرات مطرح کنید. و در صورت داشتن پروژه در خصوص نرم افزار MATLAB و مهندسی مکانیک ، کنترل، محاسبات عددی، SIMULINK، SimMechanics میتوانید از طریق ایمیل و تلفن در قسمت تماس با ما، ارتباط برقرارکنید.
سلام ممنون از توضیحات خوبتون
اگر امکان داره نحوه گرفتن رگرسیون غیر خطی با استفاده از نرم افزار MATLAB رو توضیح بدید؟؟؟
بله، لطف کنید سوالاتتون رو با عضویت در سایت در انجمن مربوطه مطرح بفرمایید.
ممنون از پست های مفید و خوبتون
مرسی. ایشالا که مورد قبولتون واقع شده باشه.