MATLAB
2.35K subscribers
202 photos
24 videos
143 files
280 links
Download Telegram
🎯 هر روز یک دستور 🎯
____________________________
🔆 دستور شماره دو
____________________________
airfoil
منظور: نمایشی –ماتریس های پراکندگی
خلاصه:
airfoil
توصیف: نمایش پراکندگی از ضد هوایی ناسا (NASA). در این مثال از اطلاعات ذخیره شده در فایل airfoil.mat شامل 4253 جفت مختصات (x,y) نقاط مش و یک رشته شامل 12289جفت اندیس های (I,j)
است که ارتباط بین نقاط مش را تعیین می کنند، استفاده میشود . سپس با تغییر مقیاس اطلاعات داده شده و قراردادن آنها در حدوده بین 0و1 یک ماترس پراکنده شکل گرفته و پس از تبدیل آن به یک ماتریس مشت معین، نتایج رسم می شوند.

____________________________
#هر_روز_یک_دستور
#دستور
#airfoil

____________________________
© @MATLAB_tutorial
© @MATLAB_files

https://telegram.me/MATLAB_tutorial
Forwarded from Iraj Faraji
This media is not supported in your browser
VIEW IN TELEGRAM
🎯 هر روز یک دستور 🎯
____________________________
🔆 دستور شماره پنج
____________________________
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
Forwarded from Iraj Faraji
This media is not supported in your browser
VIEW IN TELEGRAM
🎯 هر روز یک دستور 🎯
____________________________
🔆 دستور شماره چهار
____________________________
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
Forwarded from test matlab
This media is not supported in your browser
VIEW IN TELEGRAM
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
در این جلسه رسم مکان هندسی ریشه ها را یاد خواهیم گرفت(قسمت اول)
برای رسم مکان هندسی ریشه ها از دستور 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
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
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
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
در این حالت متلب خود به صورت اتوماتیک بردار بهره 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
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
اگر سیستم در قالب استاندارد فوق نباشد باید آنرا به گونه ای به قالب استاندارد تبدیل کنیم:
___________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/ZdKz
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
مثلا اگر فیدبک مثبت باشد میتوان F=-1 در نظر گرفت یعنی مکان هندسی ریشه های G(s)- را رسم میکنیم.
یا مثلا بخواهیم مکان هندسی ریشه ها را برای بهره های منفی رسم کنیم باز هم مکان هندسی ریشه های G(s)- را رسم میکنیم.
مثال:
مکان هندسی ریشه های سیستمی با تابع تبدیل حلقه باز زیر را برای بهره ها منفی رسم کنید:
P(s)=(s+1)/((s+3)(s+2)(s+5))
clc
clear
close all

num=-[1 1]; % -G(s)
den=[1 10 31 30];

rlocus(num,den)

___________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/6xPN
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
مثال:
مکان هندسی ریشه های سیستمی با تابع تبدیل حلقه باز زیر را برای بهره ها منفی و مثبت رسم کنید:
P(s)=(s+1)/((s+3)(s+2)(s+5))
clc
clear
close all

for i=[-1 1]
num=i*[1 1];
den=[1 10 31 30];
rlocus(num,den)
hold on
end

___________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/ZZO9
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
اگر بخواهیم ریشه ها را به ازای مقادیر مختلف بهره بدانیم میتوانیم به صورت زیر از دستور rlocus استفاده کنیم.
[r,k] = rlocus(sys)
در این حالت K یک بردار است با m درایه و r یک ماتریس با سایز m در n میباشد که n در واقع مرتبه معادله مشخصه (تعداد قطب های حلقه بسته ) میباشد.

___________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
مثال:
قطب های حلقه بسته سیستمی با تابع تبدیل حلقه باز زیر را بدست آورید:
P(s)=(s+1)/((s+3)(s+2)(s-1))
clc
clear
close all

num=[1 1];
den=[1 4 1 -6];

[r,k]=rlocus(num,den);

بنابراین مقادیر بهره در بردار k و ریشه های متناظر در ماتریس r قرار میگیرند.
همچنین میتوانیم بردار k را خود تعیین کنیم:
num=[1 1];
den=[1 4 1 -6];
k=0:0.1:10;

r=rlocus(num,den,k);

___________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
حال اگر بخواهیم مکان هندسی را رسم کنیم کافی است r را رسم کنیم:
clc
clear
close all

num=[1 1];
den=[1 4 1 -6];

[r,k]=rlocus(num,den);

plot(r);

grid on
title('Root Locus');
xlabel('Real Axis sec^-1');
ylabel('Imaginary Axis sec^-1');

%%
hold on

k=0;
r=rlocus(num,den,k);
text(real(r),imag(r),'x')

k=inf;
r=rlocus(num,den,k);
text(real(r),imag(r),'o')

___________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/P3oj
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه هشتم
💡 استاد : مهندس ورمقانی
____________________________
در نوشتن برنامه فوق برای مشخص کردن قطب ها و صفرهای حلقه باز از این ویژگی که در بهره صفر در قطب های حلقه باز و در بهره بینهایت در صفرهای حلقه باز هستیم استفاده نمودیم. که بیشتر جنبه آموزشی داشته باشد اما برای دقیق تر بودن همانطور که در جلسه اول توضیح داده شد بهتر است از دستور pzmap استفاده کنیم:
clc
clear
close all

num=[1 1];
den=[1 4 1 -6];


r=rlocus(num,den);

plot(r);

grid on
title('Root Locus');
xlabel('Real Axis sec^-1');
ylabel('Imaginary Axis sec^-1');

%%
hold on

pzmap(num,den)

___________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_هشتم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/YVuN