🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه پنجم
💡 استاد : دکتر علی فدایی
____________________________
اگر بخواهیم این کار را دستی انجام دهیم کار ساده خواهد بود اما میخواهیم این کا را متلب انجام دهد برنامه زیر این کار را انجام میدهد:
clc
clear
close all
m=[-7.9462 -7.6628 -6.9897 -6.4836 -6.4681 -7.513 -8.0986 -8.7283 -11.222 -15.068 -19.797 -21.44];
Alpha=[-0.57809 -3.4893 -10.305 -21.701 -28.558 -48.122 -53.282 -57.653 -69.075 -78.294 -83.784 -84.942];
t=-pi:0.001:pi;
for i=1:numel(m)
M=10^(m(i)/20);
alpha=Alpha(i);
x=abs(M/(M^2-1))*cos(t)-M^2/(M^2-1);
y=abs(M/(M^2-1))*sin(t);
mag_M=20*log10(sqrt(x.^2+y.^2));
phase_M=atan2(y,x)*180/pi;
for j=1:numel(t)
if phase_M(j)>180
phase_M(j)=phase_M(j)-360;
elseif phase_M(j)<-180
phase_M(j)=phase_M(j)+360;
end
end
plot(phase_M,mag_M,'.')
hold on
x=abs(1/(2*sind(alpha)))*cos(t)-0.5;
y=abs(1/(2*sind(alpha)))*sin(t)+1/(2*tand(alpha));
mag_a=20*log10(sqrt(x.^2+y.^2));
phase_a=atan2(y,x)*180/pi;
for j=1:numel(t)
if phase_a(j)>180
phase_a(j)=phase_a(j)-360;
elseif phase_a(j)<-180
phase_a(j)=phase_a(j)+360;
end
end
plot(phase_a,mag_a,'.')
xlim([-180 180])
hold off
[PHASE(i),MAG(i)]=ginput(1);
end
plot(PHASE(:),MAG(:))
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_پنجم
#فدایی
#کنترل_مدرن
#مثال
@matlabprozhe
____________________________
____________________________
💡 جلسه پنجم
💡 استاد : دکتر علی فدایی
____________________________
اگر بخواهیم این کار را دستی انجام دهیم کار ساده خواهد بود اما میخواهیم این کا را متلب انجام دهد برنامه زیر این کار را انجام میدهد:
clc
clear
close all
m=[-7.9462 -7.6628 -6.9897 -6.4836 -6.4681 -7.513 -8.0986 -8.7283 -11.222 -15.068 -19.797 -21.44];
Alpha=[-0.57809 -3.4893 -10.305 -21.701 -28.558 -48.122 -53.282 -57.653 -69.075 -78.294 -83.784 -84.942];
t=-pi:0.001:pi;
for i=1:numel(m)
M=10^(m(i)/20);
alpha=Alpha(i);
x=abs(M/(M^2-1))*cos(t)-M^2/(M^2-1);
y=abs(M/(M^2-1))*sin(t);
mag_M=20*log10(sqrt(x.^2+y.^2));
phase_M=atan2(y,x)*180/pi;
for j=1:numel(t)
if phase_M(j)>180
phase_M(j)=phase_M(j)-360;
elseif phase_M(j)<-180
phase_M(j)=phase_M(j)+360;
end
end
plot(phase_M,mag_M,'.')
hold on
x=abs(1/(2*sind(alpha)))*cos(t)-0.5;
y=abs(1/(2*sind(alpha)))*sin(t)+1/(2*tand(alpha));
mag_a=20*log10(sqrt(x.^2+y.^2));
phase_a=atan2(y,x)*180/pi;
for j=1:numel(t)
if phase_a(j)>180
phase_a(j)=phase_a(j)-360;
elseif phase_a(j)<-180
phase_a(j)=phase_a(j)+360;
end
end
plot(phase_a,mag_a,'.')
xlim([-180 180])
hold off
[PHASE(i),MAG(i)]=ginput(1);
end
plot(PHASE(:),MAG(:))
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_پنجم
#فدایی
#کنترل_مدرن
#مثال
@matlabprozhe
____________________________