[問題] 一個轉移函數反拉氏已回收
一個轉移函數反拉氏
Y(s)=1000u/(s(s+100))
原本不確定可不可以用部分分式求y(t)
但還是硬著頭皮算,
1000u/(s(s+100))=A/s + B/(s+100)
As+100A+Bs=1000u
100A=1000u
A=10u
As+Bs=0
B=-10u
10u/s-10u/(s+100)
10u*(1/s)-10u(1/(s+100))=10u*(1)-10u*e^-100t
但用matlab run看看
結果出現Unexpected MATLAB expression
10u*(1)-10u*e^-100t 连這行有問題
我把全部程式碼貼出來,神人大大們幫我看一下吧
程式碼:
%Initilizing kp
kp=1; %kp_1=rand;
e_1=0;e_2=0;
y_1=0;y_2=0;
ts=0.001;
for k=1:20000
time(k)=k*ts;
if k< 2000
yd(k)=0;
else
yd(k)=2*pi;
end
u=kp*e_1;
Dy=(y_2-y_1)/(ts);
D2y=(y_2'-y_1')/(ts);
exp=9.7033*10^8;
y(k)=10u-10u*exp^(-100*t);
e(k)=yd(k)-y(k);
e_2=e_1;
e_1=e(k);
y_2=y_1;y_1=y(k);
end
figure(1);
plot(time,yd,'b',time,y,'r');
xlabel('time(s)');ylabel('yd,y(rad)');
figure(2);
plot(time,e,'r');
xlabel('time(s)');ylabel('e(rad)');
figure(3);
plot(time,u,'r');
xlabel('time(s)');ylabel('u(A)');
就是PID控制器裡,
只做P部分的比例增益,
輸入是u (控制量)
u=kp*e,
經由簡易的馬達模型1000/(s(s+100)) 之後
跑出一個y(操作量)
與yd(目標值)比較後,產生e(誤差)
yd固定在2*pi的地方,
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.137.20.1
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章