از دوستان كسي ميتونه تو حل اين سوال بوسيله متلب كمك كنه

hamed5992

عضو جدید
با سلام
از دوستان كسي ميتونه تو حل اين سوال بوسيله متلب كمك كنه خيلي ضروري هست. لطفا كمك نماييد.
با تشكر
 

پیوست ها

  • Untitled1.pdf
    144.7 کیلوبایت · بازدیدها: 0

عماد عباسی

عضو جدید
سلام بیا این یک نمونه که قبلا خودم نوشتم مشابه سوال شماست
clear;
close all;
clc;


A=[0 , 1 , 0 , 0
0 , 0 ,-1 , 0
0 , 0 , 1 , 0
0 , 0 , 5 , 0]


B=[0
1
0
2];

C=[1 0 0 0];

D=0;

sys1=ss(A,B,C,D);
G=tf(sys1)
%step(G)
P=pole(sys1);

q=sum(real(P)>0);
if q>0
disp([' ' num2str(q) ' ghotb napayedar darad '])
end

%% ---


OV= input ( ' overshot matlop ra vared konid : ' )

Ts= input ( ' settling time matlop ra vared konid : ' )
a=log(OV)
zita = sqrt(a^2/(a^2+pi^2))
Wn = 4/(zita*Ts)
a = solve(['x^2+2*' num2str(zita) '*' num2str(Wn) '*x+'...
num2str(Wn) '^2=0']);
a =double(fix(1000.*a)/1000);

DesiredPoles=[a(1) a(2)];

K=place(A,B,DesiredPoles);

Acl=A-B*K;

H=ss(Acl,B,C,D);

S=stepinfo(H);

f.SettlingTime=S.SettlingTime
f.Overshoot=S.Overshoot


موفق باشی
 
بالا