🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
بررسی پاسخ ضربه سیستم
منظور از پاسخ ضربه پاسخ سیستم با شرایط اولیه صفر به ورودی ضربه است.
همانطور که میدانیم پاسخ ضربه یک سیستم خطی مشتق پاسخ پله است. و بنابراین با توجه به روابط زیر میتوان برای بدست آوردن پاسخ ضربه G(s) از پاسخ پله s G(s)استفاده کرد:
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
بررسی پاسخ ضربه سیستم
منظور از پاسخ ضربه پاسخ سیستم با شرایط اولیه صفر به ورودی ضربه است.
همانطور که میدانیم پاسخ ضربه یک سیستم خطی مشتق پاسخ پله است. و بنابراین با توجه به روابط زیر میتوان برای بدست آوردن پاسخ ضربه G(s) از پاسخ پله s G(s)استفاده کرد:
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
Y(s) = G(s) R(s)
R(s)= 1/s : Y(s)=G(s) / sپاسخ پله
R(s)= 1 Y(s)=G(s) = s G(s) / sپاسخ ضربه
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
Y(s) = G(s) R(s)
R(s)= 1/s : Y(s)=G(s) / sپاسخ پله
R(s)= 1 Y(s)=G(s) = s G(s) / sپاسخ ضربه
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
مثال :
پاسخ ضربه سیستم زیر را بیابید:
G(s)=(s+1)/((s+3)(s+2))
clc
clear
s=tf('s');
G=(s+1)/(s+3)/(s+2);
[Y,t,x]=step(s*G);
plot(t,Y)
grid on
title('Unit-Impulse Response')
xlabel('Time (sec)')
ylabel('Amplitude')
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
yon.ir/drfc
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
مثال :
پاسخ ضربه سیستم زیر را بیابید:
G(s)=(s+1)/((s+3)(s+2))
clc
clear
s=tf('s');
G=(s+1)/(s+3)/(s+2);
[Y,t,x]=step(s*G);
plot(t,Y)
grid on
title('Unit-Impulse Response')
xlabel('Time (sec)')
ylabel('Amplitude')
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
yon.ir/drfc
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
اما در متلب برای بدست آوردن پاسخ ضربه یک سیستم تابع impulse وجود دارد.
impulse(sys)
impulse(sys,Tfinal)
impulse(sys,t)
[y,t] = impulse(sys)
[y,t] = impulse(sys,Tfinal)
y = impulse(sys,t)
[y,t,x] = impulse(sys)
[y,t,x,ysd] = impulse(sys)
مثال :
پاسخ ضربه سیستم زیر را بیابید:
G(s)=(s+1)/((s+3)(s+2))
clc
clear
s=tf('s');
G=(s+1)/(s+3)/(s+2);
impulse(G)
__________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
yon.ir/5lAz
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
اما در متلب برای بدست آوردن پاسخ ضربه یک سیستم تابع impulse وجود دارد.
impulse(sys)
impulse(sys,Tfinal)
impulse(sys,t)
[y,t] = impulse(sys)
[y,t] = impulse(sys,Tfinal)
y = impulse(sys,t)
[y,t,x] = impulse(sys)
[y,t,x,ysd] = impulse(sys)
مثال :
پاسخ ضربه سیستم زیر را بیابید:
G(s)=(s+1)/((s+3)(s+2))
clc
clear
s=tf('s');
G=(s+1)/(s+3)/(s+2);
impulse(G)
__________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
yon.ir/5lAz
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
قسمت دوم :
بررسی پاسخ شیب سیستم
برای یافتن پاسخ شیب با توجه به این که پاسخ شیب انتگرال پاسخ پله است بنابراین میتوان برای بدست آوردن پاسخ شیب از پاسخ پله سیستم G(s) / s استفاده کرد.
__________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
قسمت دوم :
بررسی پاسخ شیب سیستم
برای یافتن پاسخ شیب با توجه به این که پاسخ شیب انتگرال پاسخ پله است بنابراین میتوان برای بدست آوردن پاسخ شیب از پاسخ پله سیستم G(s) / s استفاده کرد.
__________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
مثال :
پاسخ شیب سیستم زیر را بیابید:
G(s)=(s+1)/((s+3)(s+2))
clc
clear
s=tf('s');
G=(s+1)/(s+3)/(s+2);
[Y,t,x]=step(G/s,3);
plot(t,Y)
grid on
title('Unit-Ramp Response')
xlabel('Time (sec)')
ylabel('Amplitude')
__________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
yon.ir/P6pg
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
مثال :
پاسخ شیب سیستم زیر را بیابید:
G(s)=(s+1)/((s+3)(s+2))
clc
clear
s=tf('s');
G=(s+1)/(s+3)/(s+2);
[Y,t,x]=step(G/s,3);
plot(t,Y)
grid on
title('Unit-Ramp Response')
xlabel('Time (sec)')
ylabel('Amplitude')
__________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
yon.ir/P6pg
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
قسمت سوم:
پاسخ به ورودی دلخواه:
دستور lsim در متلب برای بدست آوردن پاسخ سیستم به ورودی دلخواه است:
lsim(sys,u,t)
lsim(sys,u,t,x0)
مثال :
پاسخ شیب سیستم زیر را بیابید:
G(s)=(s+1)/((s+3)(s+2))
clc
clear
s=tf('s');
G=(s+1)/(s+3)/(s+2);
t=0:0.01:3;
u=t;
[Y,T,X]=lsim(G,u,t);
plot(T,Y)
grid on
title('Unit-Ramp Response')
xlabel('Time (sec)')
ylabel('Amplitude')
__________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
yon.ir/6h5S
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
قسمت سوم:
پاسخ به ورودی دلخواه:
دستور lsim در متلب برای بدست آوردن پاسخ سیستم به ورودی دلخواه است:
lsim(sys,u,t)
lsim(sys,u,t,x0)
مثال :
پاسخ شیب سیستم زیر را بیابید:
G(s)=(s+1)/((s+3)(s+2))
clc
clear
s=tf('s');
G=(s+1)/(s+3)/(s+2);
t=0:0.01:3;
u=t;
[Y,T,X]=lsim(G,u,t);
plot(T,Y)
grid on
title('Unit-Ramp Response')
xlabel('Time (sec)')
ylabel('Amplitude')
__________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
yon.ir/6h5S
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
مثال:
پاسخ سیستم زیر به ورودی sin(2t) را بیابید:
G(s)=(s+1)/((s+3)(s+2))
clc
clear
s=tf('s');
G=(s+1)/(s+3)/(s+2);
t=0:0.01:3;
u=sin(2.*t);
[Y,T,X]=lsim(G,u,t);
plot(T,Y)
grid on
title('Sin(2t) Response')
xlabel('Time (sec)')
ylabel('Amplitude')
__________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
yon.ir/6P6o
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
مثال:
پاسخ سیستم زیر به ورودی sin(2t) را بیابید:
G(s)=(s+1)/((s+3)(s+2))
clc
clear
s=tf('s');
G=(s+1)/(s+3)/(s+2);
t=0:0.01:3;
u=sin(2.*t);
[Y,T,X]=lsim(G,u,t);
plot(T,Y)
grid on
title('Sin(2t) Response')
xlabel('Time (sec)')
ylabel('Amplitude')
__________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
yon.ir/6P6o
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
مثال:
پاسخ سیستم زیر به ورودی sin(2t) و شرایط اولیه y=0.1 را بیابید:
G(s)=(s+1)/((s+3)(s+2))
پاسخ:
ابتدا باید یک تحقق از سیستم بدست آوریم:
[A,B,C,D]=tf2ss([1 1],[1 5 6])
A =
-5 -6
1 0
B =
1
0
C =
1 1
D =
0________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
مثال:
پاسخ سیستم زیر به ورودی sin(2t) و شرایط اولیه y=0.1 را بیابید:
G(s)=(s+1)/((s+3)(s+2))
پاسخ:
ابتدا باید یک تحقق از سیستم بدست آوریم:
[A,B,C,D]=tf2ss([1 1],[1 5 6])
A =
-5 -6
1 0
B =
1
0
C =
1 1
D =
0________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
بنابراین شرایط اولیه تمام پاسخ های دستگاه x1+x2=0.1 می تواند باشد.
clc
clear
[A,B,C,D]=tf2ss([1 1],[1 5 6]);
sys=ss(A,B,C,D);
t=0:0.01:3;
u=sin(2.*t);
[Y,T,X]=lsim(sys,u,t,[0.05,0.05]);
plot(T,Y)
grid on
xlabel('Time (sec)')
ylabel('Amplitude')
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
yon.ir/BeUj
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
بنابراین شرایط اولیه تمام پاسخ های دستگاه x1+x2=0.1 می تواند باشد.
clc
clear
[A,B,C,D]=tf2ss([1 1],[1 5 6]);
sys=ss(A,B,C,D);
t=0:0.01:3;
u=sin(2.*t);
[Y,T,X]=lsim(sys,u,t,[0.05,0.05]);
plot(T,Y)
grid on
xlabel('Time (sec)')
ylabel('Amplitude')
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
yon.ir/BeUj
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
تذکر مهم :
در مثال فوق یک تحقق از سیستم را بدست آوردیم و همچنین شرایط اولیه را برابر جواب دلخواهی از دستگاه x1+x2=0.1 در نظر گرفتیم. با تغییر تحقق و یا با در نظر گرفتن جوابی دیگر از دستگاه x1+x2=0.1 پاسخ سیستم (پاسخ به شرایط اولیه و در نتیجه پاسخ کلی) تغییر خواهد کرد. توجه به این نکته لازم است که ما در عمل شرایط اولیه را برای یک تحقق مشخص داریم و بنابراین در عمل شرایط اولیه اگر مشخص باشد باید در مدل فضای حالت باشیم
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
تذکر مهم :
در مثال فوق یک تحقق از سیستم را بدست آوردیم و همچنین شرایط اولیه را برابر جواب دلخواهی از دستگاه x1+x2=0.1 در نظر گرفتیم. با تغییر تحقق و یا با در نظر گرفتن جوابی دیگر از دستگاه x1+x2=0.1 پاسخ سیستم (پاسخ به شرایط اولیه و در نتیجه پاسخ کلی) تغییر خواهد کرد. توجه به این نکته لازم است که ما در عمل شرایط اولیه را برای یک تحقق مشخص داریم و بنابراین در عمل شرایط اولیه اگر مشخص باشد باید در مدل فضای حالت باشیم
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
مثال :
پاسخ سیستم زیر به شرایط اولیه y=0.1 را بیابید:
G(s)=(s+1)/((s+3)(s+2))
پاسخ:
ابتدا باید یک تحقق از سیستم بدست آوریم:
[A,B,C,D]=tf2ss([1 1],[1 5 6])
A =
-5 -6
1 0
B =
1
0
C =
1 1
D =
0
بنابراین شرایط اولیه تمام پاسخ های دستگاه x1+x2=0.1 می تواند باشد.
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
مثال :
پاسخ سیستم زیر به شرایط اولیه y=0.1 را بیابید:
G(s)=(s+1)/((s+3)(s+2))
پاسخ:
ابتدا باید یک تحقق از سیستم بدست آوریم:
[A,B,C,D]=tf2ss([1 1],[1 5 6])
A =
-5 -6
1 0
B =
1
0
C =
1 1
D =
0
بنابراین شرایط اولیه تمام پاسخ های دستگاه x1+x2=0.1 می تواند باشد.
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
clc
clear
[A,B,C,D]=tf2ss([1 1],[1 5 6]);
sys=ss(A,B,C,D);
t=0:0.01:3;
[Y,T,X]=initial(sys,[0.05,0.05],t);
plot(T,Y)
grid on
title('Response to Initial Conditions')
xlabel('Time (sec)')
ylabel('Amplitude')
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
yon.ir/MuRF
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
clc
clear
[A,B,C,D]=tf2ss([1 1],[1 5 6]);
sys=ss(A,B,C,D);
t=0:0.01:3;
[Y,T,X]=initial(sys,[0.05,0.05],t);
plot(T,Y)
grid on
title('Response to Initial Conditions')
xlabel('Time (sec)')
ylabel('Amplitude')
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
yon.ir/MuRF
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
___مثال:
قاعده جمع آثار را برای سیستم زیر و نیز ورودی(sin(2t و شرایط اولیه[ X0=[0.1,0.3بررسی کنید.
A=[-5 -6; 1 0] ; B=[1;0] ; C=[1 1] ; D=0
clc
clear
A=[-5 -6;1 0];
B=[1;0];
C=[1 1];
D=0;
sys=ss(A,B,C,D);
t=0:0.05:3;
u=sin(2.*t);
[Y0,T0,X0]=initial(sys,[0.1,0.3],t);
[Yu,Tu,Xu]=lsim(sys,u,t);
Y=Yu+Y0;
T=Tu;
plot(T,Y)
hold on
[Yy,Tt,Xx]=lsim(sys,u,t,[0.1,0.3]);
plot(Tt,Yy,'or')
grid on
xlabel('Time (sec)')
ylabel('Amplitude')
legend('y=yu+y0','y=y')
همانظور که میبینیم هر دو نمودار روی هم واقع شده اند.
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/QbF2
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
___مثال:
قاعده جمع آثار را برای سیستم زیر و نیز ورودی(sin(2t و شرایط اولیه[ X0=[0.1,0.3بررسی کنید.
A=[-5 -6; 1 0] ; B=[1;0] ; C=[1 1] ; D=0
clc
clear
A=[-5 -6;1 0];
B=[1;0];
C=[1 1];
D=0;
sys=ss(A,B,C,D);
t=0:0.05:3;
u=sin(2.*t);
[Y0,T0,X0]=initial(sys,[0.1,0.3],t);
[Yu,Tu,Xu]=lsim(sys,u,t);
Y=Yu+Y0;
T=Tu;
plot(T,Y)
hold on
[Yy,Tt,Xx]=lsim(sys,u,t,[0.1,0.3]);
plot(Tt,Yy,'or')
grid on
xlabel('Time (sec)')
ylabel('Amplitude')
legend('y=yu+y0','y=y')
همانظور که میبینیم هر دو نمودار روی هم واقع شده اند.
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/QbF2
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
قسمت پنجم:
استفاده از ode45 برای یافتن پاسخ یک سیستم به ورودی و شرایط اولیه دلخواه:
در این قسمت میخواهیم پاسخ یک سیستم کلی (خطی – غیر خطی – متغیر با زمان) به ورودی و شرایط اولیه دلخواه را بدست آوریم.
برای این کار سیستم را توسط مدل فضای حالت مدل میکنیم. در واقع به طور ساده معدلات دیفرانسیل حاکم بر سیستم را مینویسیم. سپس از دستور ode45 برای حل این معادلات استفاده میکنیم.
مثال:
پاسخ سیستم زیر به ورودی( sin(2t و شرایط اولیه[ X0=[0.1,0.3 را بیابید.
A=[-5 -6;1 0] ; B=[1;0] ; C=[1 1] ; D=0
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
قسمت پنجم:
استفاده از ode45 برای یافتن پاسخ یک سیستم به ورودی و شرایط اولیه دلخواه:
در این قسمت میخواهیم پاسخ یک سیستم کلی (خطی – غیر خطی – متغیر با زمان) به ورودی و شرایط اولیه دلخواه را بدست آوریم.
برای این کار سیستم را توسط مدل فضای حالت مدل میکنیم. در واقع به طور ساده معدلات دیفرانسیل حاکم بر سیستم را مینویسیم. سپس از دستور ode45 برای حل این معادلات استفاده میکنیم.
مثال:
پاسخ سیستم زیر به ورودی( sin(2t و شرایط اولیه[ X0=[0.1,0.3 را بیابید.
A=[-5 -6;1 0] ; B=[1;0] ; C=[1 1] ; D=0
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
حل:
ابتدا یک تابع مینویسیم که سیستم را مدل میکند:
function dX=sys(t,X)
dX=zeros(2,1);
u=sin(2*t);
dX(1)=-5*X(1)-6*X(2)+u;
dX(2)=X(1);
سپس از دستور ode45 استفاده میکنیم:
X0=[0.1,0.3];
t=0:0.05:3;
[T,X]=ode45(@sys,t,X0);
y=X(:,1)+X(:,2); % y=c*x+d*u
plot(T,y)
grid on
xlabel('Time (sec)')
ylabel('Amplitude')
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/oALE
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
حل:
ابتدا یک تابع مینویسیم که سیستم را مدل میکند:
function dX=sys(t,X)
dX=zeros(2,1);
u=sin(2*t);
dX(1)=-5*X(1)-6*X(2)+u;
dX(2)=X(1);
سپس از دستور ode45 استفاده میکنیم:
X0=[0.1,0.3];
t=0:0.05:3;
[T,X]=ode45(@sys,t,X0);
y=X(:,1)+X(:,2); % y=c*x+d*u
plot(T,y)
grid on
xlabel('Time (sec)')
ylabel('Amplitude')
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/oALE
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
تذکر:
برتری روش اخیر این است که هیچ محدودیتی در نوع سیستم نداریم. یعنی سیستم میتواند غیرخطی نیز باشد.
مثال:
سیستمی با معادله دیفرانسیل غیرخطی زیر توصیف میشود. پاسخ آن را به ورودی sin(2t) بیابید. فرض کنید شرایط اولیه درصورت در نظر گرفتن x و مشتق آن به عنوان حالت های سیستم برابر[1,-2] باشد. و خروجی سیستم x میباشد.
x ̈=-x^2 x ̇+u
پاسخ:
ابتدا مدل فضای حالت آن را میابیم:
با فرض متغیرهای حالت به صورت x_1=x و x_2=x ̇ داریم.
x ̇_1=x_2
x ̇_2=〖-x_1^2 x〗_2+u
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/oALE
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
تذکر:
برتری روش اخیر این است که هیچ محدودیتی در نوع سیستم نداریم. یعنی سیستم میتواند غیرخطی نیز باشد.
مثال:
سیستمی با معادله دیفرانسیل غیرخطی زیر توصیف میشود. پاسخ آن را به ورودی sin(2t) بیابید. فرض کنید شرایط اولیه درصورت در نظر گرفتن x و مشتق آن به عنوان حالت های سیستم برابر[1,-2] باشد. و خروجی سیستم x میباشد.
x ̈=-x^2 x ̇+u
پاسخ:
ابتدا مدل فضای حالت آن را میابیم:
با فرض متغیرهای حالت به صورت x_1=x و x_2=x ̇ داریم.
x ̇_1=x_2
x ̇_2=〖-x_1^2 x〗_2+u
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/oALE