🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
حال که مدل فضای حالت را داریم مانند مثال قبل یک تابع برای توصیف آن نوشته و سپس از دستور ode45 استفاده میکنیم:
function dX=sys(t,X)
dX=zeros(2,1);
u=sin(2*t);
dX(1)=X(2);
dX(2)=-X(1)^2*X(2)+u;
حال از دستور ode45 استفاده میکنیم:
X0=[1,-2];
t=0:0.05:10;
[T,X]=ode45(@sys,t,X0);
y=X(:,1); %y=x
plot(T,y)
grid on
xlabel('Time (sec)')
ylabel('Amplitude')
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/ZoFc
____________________________
💡 جلسه هفتم
💡 استاد : مهندس ورمقانی
____________________________
حال که مدل فضای حالت را داریم مانند مثال قبل یک تابع برای توصیف آن نوشته و سپس از دستور ode45 استفاده میکنیم:
function dX=sys(t,X)
dX=zeros(2,1);
u=sin(2*t);
dX(1)=X(2);
dX(2)=-X(1)^2*X(2)+u;
حال از دستور ode45 استفاده میکنیم:
X0=[1,-2];
t=0:0.05:10;
[T,X]=ode45(@sys,t,X0);
y=X(:,1); %y=x
plot(T,y)
grid on
xlabel('Time (sec)')
ylabel('Amplitude')
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هفتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/ZoFc
🎯 هر روز یک دستور 🎯
____________________________
🔆 دستور شماره یک
____________________________
Abs , angle
منظور: تبدیل مقدار مطلق و دنباله عدد
abs(X),abs(S),angle(X)
توصیف: یک عدد مختلط را به دو صورت میتوان نمایش داد: نمایش قدر مطلق و فاز و نمایش قسمتهای حقیقی و موهومی.
Z=X+iY=r*exp(iθ)
که abs (Z) مقدار قدر مطلق Z را نشان میدهد.
اگر Z مختلط باشد ، abs مبین دامنه عناصر موجود در Z است.
abs(Z)=sqrt(real(Z).^2+imag(Z).^2)
که angle(Z) زوایای فاز عناصر موجود در ماتریس مختلط را برحسب رادیان می دهد.
angle(Z)=image(log(Z))=atan(imsg(Z).real(Z))
در abs(S) که S یک متغیر دنباله متلب است ، مقادیر عددی کاراکترهای ASCII دنباله را می دهد.
این کار تغییری در نمایشهای داخلی نمی دهد، فقط روش نمایش آن تغییر می کند.
#Real, #imag, #unwrap, #setstr
____________________________
#هر_روز_یک_دستور
#دستور
#Abs
#angle
____________________________
© @MATLAB_tutorial
© @MATLAB_files
https://telegram.me/MATLAB_tutorial
____________________________
🔆 دستور شماره یک
____________________________
Abs , angle
منظور: تبدیل مقدار مطلق و دنباله عدد
abs(X),abs(S),angle(X)
توصیف: یک عدد مختلط را به دو صورت میتوان نمایش داد: نمایش قدر مطلق و فاز و نمایش قسمتهای حقیقی و موهومی.
Z=X+iY=r*exp(iθ)
که abs (Z) مقدار قدر مطلق Z را نشان میدهد.
اگر Z مختلط باشد ، abs مبین دامنه عناصر موجود در Z است.
abs(Z)=sqrt(real(Z).^2+imag(Z).^2)
که angle(Z) زوایای فاز عناصر موجود در ماتریس مختلط را برحسب رادیان می دهد.
angle(Z)=image(log(Z))=atan(imsg(Z).real(Z))
در abs(S) که S یک متغیر دنباله متلب است ، مقادیر عددی کاراکترهای ASCII دنباله را می دهد.
این کار تغییری در نمایشهای داخلی نمی دهد، فقط روش نمایش آن تغییر می کند.
#Real, #imag, #unwrap, #setstr
____________________________
#هر_روز_یک_دستور
#دستور
#Abs
#angle
____________________________
© @MATLAB_tutorial
© @MATLAB_files
https://telegram.me/MATLAB_tutorial
🎯 هر روز یک دستور 🎯
____________________________
🔆 دستور شماره دو
____________________________
airfoil
منظور: نمایشی –ماتریس های پراکندگی
خلاصه:
airfoil
توصیف: نمایش پراکندگی از ضد هوایی ناسا (NASA). در این مثال از اطلاعات ذخیره شده در فایل airfoil.mat شامل 4253 جفت مختصات (x,y) نقاط مش و یک رشته شامل 12289جفت اندیس های (I,j)
است که ارتباط بین نقاط مش را تعیین می کنند، استفاده میشود . سپس با تغییر مقیاس اطلاعات داده شده و قراردادن آنها در حدوده بین 0و1 یک ماترس پراکنده شکل گرفته و پس از تبدیل آن به یک ماتریس مشت معین، نتایج رسم می شوند.
____________________________
#هر_روز_یک_دستور
#دستور
#airfoil
____________________________
© @MATLAB_tutorial
© @MATLAB_files
https://telegram.me/MATLAB_tutorial
____________________________
🔆 دستور شماره دو
____________________________
airfoil
منظور: نمایشی –ماتریس های پراکندگی
خلاصه:
airfoil
توصیف: نمایش پراکندگی از ضد هوایی ناسا (NASA). در این مثال از اطلاعات ذخیره شده در فایل airfoil.mat شامل 4253 جفت مختصات (x,y) نقاط مش و یک رشته شامل 12289جفت اندیس های (I,j)
است که ارتباط بین نقاط مش را تعیین می کنند، استفاده میشود . سپس با تغییر مقیاس اطلاعات داده شده و قراردادن آنها در حدوده بین 0و1 یک ماترس پراکنده شکل گرفته و پس از تبدیل آن به یک ماتریس مشت معین، نتایج رسم می شوند.
____________________________
#هر_روز_یک_دستور
#دستور
#airfoil
____________________________
© @MATLAB_tutorial
© @MATLAB_files
https://telegram.me/MATLAB_tutorial
🎯 هر روز یک دستور 🎯
____________________________
🔆 دستور شماره پنج
____________________________
area
منظور: رسم سطح دو بعدی پر شده
area(Y)
area(X,Y)
area(….basevalue)
area(….'PropertyName',PropertyValue,….)
area(axes_handle,….)
h-area(….)
area('V6'….)
توصیف: یک گراف سطح، عناصر موجود در Y را بصورت یک یا تعداد بیشتری منحنی نمایش داده و سح بین هر منحنی را پر می کند. اگر Y یک ماتریس باشد، چند منحنی به ازای تعداد ستون ها رسم می شود. در رسم منحنی هر ستون مجموع عناصر سطرهای تا آن ستون رسم می شوند، بطوریکه ارتفاع منحنی در هر فاصله x مبین مجموع ارقام سطری تا هر یک از ستون ها می باشد.
که area(Y) بردار Y یا مجموع هر ستون در ماتریس Y را رسم می کند. محور X بطور خودکار در محدوده l:size(Y,1) مدرج می شود.
که area(X,Y) برای بردارهای X و Y مشابه plot (X,Y) است، با این تفاوت که سطح بین 0 , Y پر می وشد. وقتی Y یک ماتریس باشد، area(X,Y) ستونهای Y را بصورت پر شده رسم می کند . برای هر X ، شبکه حاصل ، مجموع مقادیر متناظر از ستون های Y می باشد.
مثال: رشم سطح پشته ای: در این مثال ، اطلاعات موجود در متغیر Y بصورت پشته ای و در بالای اطلاعات قبلی رسم می شود. توجه داشته باشد که نگاشت رنگ شکل ، رنگ آمیزی سطح خاص را کنترل می کند.
Y = [1, 5, 3;
3, 2, 7;
1, 5, 3;
2, 6, 1];
area(Y)
grid on
colormap summer
set(gca,'Layer','top')
title 'Stacked Area Plot'
____________________________
#هر_روز_یک_دستور
#دستور
#area
____________________________
© @MATLAB_tutorial
© @MATLAB_files
http://yon.ir/kvK6
____________________________
🔆 دستور شماره پنج
____________________________
area
منظور: رسم سطح دو بعدی پر شده
area(Y)
area(X,Y)
area(….basevalue)
area(….'PropertyName',PropertyValue,….)
area(axes_handle,….)
h-area(….)
area('V6'….)
توصیف: یک گراف سطح، عناصر موجود در Y را بصورت یک یا تعداد بیشتری منحنی نمایش داده و سح بین هر منحنی را پر می کند. اگر Y یک ماتریس باشد، چند منحنی به ازای تعداد ستون ها رسم می شود. در رسم منحنی هر ستون مجموع عناصر سطرهای تا آن ستون رسم می شوند، بطوریکه ارتفاع منحنی در هر فاصله x مبین مجموع ارقام سطری تا هر یک از ستون ها می باشد.
که area(Y) بردار Y یا مجموع هر ستون در ماتریس Y را رسم می کند. محور X بطور خودکار در محدوده l:size(Y,1) مدرج می شود.
که area(X,Y) برای بردارهای X و Y مشابه plot (X,Y) است، با این تفاوت که سطح بین 0 , Y پر می وشد. وقتی Y یک ماتریس باشد، area(X,Y) ستونهای Y را بصورت پر شده رسم می کند . برای هر X ، شبکه حاصل ، مجموع مقادیر متناظر از ستون های Y می باشد.
مثال: رشم سطح پشته ای: در این مثال ، اطلاعات موجود در متغیر Y بصورت پشته ای و در بالای اطلاعات قبلی رسم می شود. توجه داشته باشد که نگاشت رنگ شکل ، رنگ آمیزی سطح خاص را کنترل می کند.
Y = [1, 5, 3;
3, 2, 7;
1, 5, 3;
2, 6, 1];
area(Y)
grid on
colormap summer
set(gca,'Layer','top')
title 'Stacked Area Plot'
____________________________
#هر_روز_یک_دستور
#دستور
#area
____________________________
© @MATLAB_tutorial
© @MATLAB_files
http://yon.ir/kvK6
🎯 هر روز یک دستور 🎯
____________________________
🔆 دستور شماره چهار
____________________________
assignin
منظور: تخصیص یک مقدار به متغیر موجود در فضای کاری
assignin(ws,'var',val)
مقدار val را به متغیر Var در فضای کاری ws تخصیص می دهد. در صورتیکه وجود نداشته باشد، ایجاد می شود. برای مشخص کردن فضای کاری پایه متلی یا فضای کاری تابع اختصار کننده می توان از مقادیر 'base' یا 'caller' برای ws استفاده کرد.
تابع assignin بخصوص برای مقاصد زیر مفید است:
• صدور اطلاعات از یک تابع به فضای کاری متلب
• تغییر دادن یک متغیر که در فضای کاری تایع احضار کننده تعیرف شده است، در درون تایع(نظیر یک متغیر موجود در لیست آرگومانهای تابع)
مثال: در این مثال یک جعبه محاوره ای برای تابع نمایش تصویر ایجاد می شود و سپس برای دریافت نام تصویر و نام نگاشت رنگ از کاربر کمک می گیرد. از تابع assignin برای صدور مقادیر وارد شده توسط کاربر به متغیرهای imfile و cmap موجود در فضای کاری متلی استفاده می شود.
prompt = {'Enter image name:', 'Enter colormap name:'};
title = 'Image display - assignin example';
lines = 1;
def = {'my_image', 'hsv'};
answer = inputdlg(prompt, title, lines, def);
assignin('base', 'imfile', answer{1});
assignin('base', 'cmap', answer{2});
____________________________
#هر_روز_یک_دستور
#دستور
#assignin
____________________________
© @MATLAB_tutorial
© @MATLAB_files
http://yon.ir/0jb3
____________________________
🔆 دستور شماره چهار
____________________________
assignin
منظور: تخصیص یک مقدار به متغیر موجود در فضای کاری
assignin(ws,'var',val)
مقدار val را به متغیر Var در فضای کاری ws تخصیص می دهد. در صورتیکه وجود نداشته باشد، ایجاد می شود. برای مشخص کردن فضای کاری پایه متلی یا فضای کاری تابع اختصار کننده می توان از مقادیر 'base' یا 'caller' برای ws استفاده کرد.
تابع assignin بخصوص برای مقاصد زیر مفید است:
• صدور اطلاعات از یک تابع به فضای کاری متلب
• تغییر دادن یک متغیر که در فضای کاری تایع احضار کننده تعیرف شده است، در درون تایع(نظیر یک متغیر موجود در لیست آرگومانهای تابع)
مثال: در این مثال یک جعبه محاوره ای برای تابع نمایش تصویر ایجاد می شود و سپس برای دریافت نام تصویر و نام نگاشت رنگ از کاربر کمک می گیرد. از تابع assignin برای صدور مقادیر وارد شده توسط کاربر به متغیرهای imfile و cmap موجود در فضای کاری متلی استفاده می شود.
prompt = {'Enter image name:', 'Enter colormap name:'};
title = 'Image display - assignin example';
lines = 1;
def = {'my_image', 'hsv'};
answer = inputdlg(prompt, title, lines, def);
assignin('base', 'imfile', answer{1});
assignin('base', 'cmap', answer{2});
____________________________
#هر_روز_یک_دستور
#دستور
#assignin
____________________________
© @MATLAB_tutorial
© @MATLAB_files
http://yon.ir/0jb3
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
در این جلسه رسم مکان هندسی ریشه ها را یاد خواهیم گرفت(قسمت اول)
برای رسم مکان هندسی ریشه ها از دستور rlocus استفاده میکنیم:
rlocus(sys)
rlocus(sys,k)
[r,k] = rlocus(sys)
r = rlocus(sys,k)
شکل استاندارد فیدبک برای رسم مکان هندسی ریشه ها به شکل زیر است:
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/X0YK
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
در این جلسه رسم مکان هندسی ریشه ها را یاد خواهیم گرفت(قسمت اول)
برای رسم مکان هندسی ریشه ها از دستور rlocus استفاده میکنیم:
rlocus(sys)
rlocus(sys,k)
[r,k] = rlocus(sys)
r = rlocus(sys,k)
شکل استاندارد فیدبک برای رسم مکان هندسی ریشه ها به شکل زیر است:
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/X0YK
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
که در آن K بهره سیستم میباشد. با مشخص بودن K به صورت یک عدد ثابت سیستم حلقه بسته دارای n قطب خواهد بود. با تغییر مقدار K و بدست آوردن قطب های متناظر و سپس رسم این قطب ها در صفحه مختلط نمودار مکان هندسی ریشه ها بدست می آید.
مثال :
مکان هندسی ریشه های سیستمی با تابع تبدیل حلقه باز زیر را رسم کنید:
P(s)=(s+1)/((s+3)(s+2)(s-1))
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
که در آن K بهره سیستم میباشد. با مشخص بودن K به صورت یک عدد ثابت سیستم حلقه بسته دارای n قطب خواهد بود. با تغییر مقدار K و بدست آوردن قطب های متناظر و سپس رسم این قطب ها در صفحه مختلط نمودار مکان هندسی ریشه ها بدست می آید.
مثال :
مکان هندسی ریشه های سیستمی با تابع تبدیل حلقه باز زیر را رسم کنید:
P(s)=(s+1)/((s+3)(s+2)(s-1))
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
clc
clear
close all
num=[1 1];
den=[1 4 1 -6];
rlocus(num,den)
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/1EGe
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
clc
clear
close all
num=[1 1];
den=[1 4 1 -6];
rlocus(num,den)
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/1EGe
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
با کلیک کردن روی هر نقطه از نمودار میتوان بهره متناظر و نیز قطب را دید:
___________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/z61E
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
با کلیک کردن روی هر نقطه از نمودار میتوان بهره متناظر و نیز قطب را دید:
___________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/z61E
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
در این حالت متلب خود به صورت اتوماتیک بردار بهره k را تعیین میکند اما میتوانیم خودمان به طور مستقیم این بردار را تعیین کنیم:
مثال:
مکان هندسی ریشه های سیستمی با تابع تبدیل حلقه باز زیر را برای بردار بهره K=[0 10] با گام های 0.1 رسم کنید:
P(s)=(s+1)/((s+3)(s+2)(s-1))
clc
clear
close all
num=[1 1];
den=[1 4 1 -6];
k=0:0.1:10;
rlocus(num,den,k)
___________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/coGP
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
در این حالت متلب خود به صورت اتوماتیک بردار بهره k را تعیین میکند اما میتوانیم خودمان به طور مستقیم این بردار را تعیین کنیم:
مثال:
مکان هندسی ریشه های سیستمی با تابع تبدیل حلقه باز زیر را برای بردار بهره K=[0 10] با گام های 0.1 رسم کنید:
P(s)=(s+1)/((s+3)(s+2)(s-1))
clc
clear
close all
num=[1 1];
den=[1 4 1 -6];
k=0:0.1:10;
rlocus(num,den,k)
___________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/coGP
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
در این حالت متلب خود به صورت اتوماتیک بردار بهره k را تعیین میکند اما میتوانیم خودمان به طور مستقیم این بردار را تعیین کنیم:
مثال:
مکان هندسی ریشه های سیستمی با تابع تبدیل حلقه باز زیر را برای بردار بهره K=[0 10] با گام های 0.1 رسم کنید:
P(s)=(s+1)/((s+3)(s+2)(s-1))
clc
clear
close all
num=[1 1];
den=[1 4 1 -6];
k=0:0.1:10;
rlocus(num,den,k)
___________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/ZSeL
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
در این حالت متلب خود به صورت اتوماتیک بردار بهره k را تعیین میکند اما میتوانیم خودمان به طور مستقیم این بردار را تعیین کنیم:
مثال:
مکان هندسی ریشه های سیستمی با تابع تبدیل حلقه باز زیر را برای بردار بهره K=[0 10] با گام های 0.1 رسم کنید:
P(s)=(s+1)/((s+3)(s+2)(s-1))
clc
clear
close all
num=[1 1];
den=[1 4 1 -6];
k=0:0.1:10;
rlocus(num,den,k)
___________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/ZSeL
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
اگر سیستم در قالب استاندارد فوق نباشد باید آنرا به گونه ای به قالب استاندارد تبدیل کنیم:
___________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/ZdKz
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
اگر سیستم در قالب استاندارد فوق نباشد باید آنرا به گونه ای به قالب استاندارد تبدیل کنیم:
___________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال
© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/ZdKz