12/22/2006

12.9矩陣解法

12.9矩陣解法


柯西型是高階微分方程之解法,但也可配合矩陣的型式求解。利用矩陣時,可以先以eig函數求其特徵值(eigen value),以確定其根及時間常數,其時間常數則為特徵根之負倒數。利用時間常數可以估計函數達到穩定狀態所需之時間。

以直流馬達之應用為例,電樞與電感L、電阻器R,共同串聯於一直流電壓之中如下圖,電樞則因扭力、慣性力及阻尼等達到動力平衡。




L(di/dt) = -Ri - Keω+v(t)
I(dω/dt)=KTi-Cdω

其中,L、R、I分別代表馬達的電感、電阻及電樞之轉動慣量,而Kt、Ke、Cd分別為力矩常數、反電動勢及阻尼係數。將上述聯立微分方程式改為柯西式,並設 x1=i, x2=ω,以此代入上式,並改寫矩陣型式:[X']=[A][X]+[1/L; 0]v(t),其中

[X]=
x1
x2

[X']=
x'1
x'2

[A]=
-R/L -Ke/L
KT/I -Cd/I

設直流電壓v為一控制馬達的因子,利用電壓之變化可以將馬達加速到穩定的速度。經過一段時間運轉後,再減電壓,使電樞減速並至停止。

在解法器所需之函數中,其表示法除常用的匿函數外,亦可使用其他型式之函數。匿函數最大的優點可以在主程式中共享變數資源,但其形成必須濃縮在一行之中,有時無法表達所有信息,故仍然必須借助次函數或巢狀函數。巢狀函數是將函數包藏在主函數之中,可供主函數直接呼叫,也可以共用主函數內之變數。茲將上式改寫為程式,其結果如下:

function motor(R,L,Cd,I,Kt,Ke,Tc)
% Calculate the voltage & velocity of motor
% R:resistor, ohms
% L:Inductance, H
% Cd: Coef of Damping of armature
% Kt: Torque constant N.m/A
% Ke: counter emf, V
% I: moment of inertia, kg.m^2
% Tc:control points for voltage=[t1 t2 tf]
% Example:
% motor(0.6,0.002,0,6e-5,0.04,0.04,[0.1 0.4 0.5])
A=[-R/L, -Ke/L;Kt/I, -Cd/I];B=[1/L; 0];
function v=volt(t)
v=zeros(size(t));
a=t<=Tc(3) & t>Tc(2); v(a)=-100*(t(a)-Tc(3));
b=t<=Tc(2) & t>Tc(1); v(b)=10;
v(t<Tc(1))=100*t(t<Tc(1));
end
xdot=@(t,x) A*x+B*volt(t);
[t,x]=ode23(xdot,[0 0.6],[0 0]);
subplot(3,1,1)
plot(t,volt(t));xlabel('t(s)');ylabel('Voltage,V');
subplot(3,1,2)
plot(t,x(:,2),'k-');xlabel('t(s)');ylabel('Ang. Velocity,rads/s');
subplot(3,1,3)
plot(t,x(:,1),'r-');xlabel('t(s)');ylabel('current, A');
end



指令之格式如下:

function motor(R, L, Cd, I, Kt, Ke, Tc)

輸入參數說明如下:

R:串聯電阻器, ohms
L:電感, H
Cd:電樞之阻尼係數
Kt:扭力常數,N.m/A
Ke:反電動勢, V
I:慣性扭矩, kg.m^2
Tc:電壓控制點=[t1 t2 tf],t1升程第一段,t2返程始, tf返程終。

>> motor(0.6,0.002,0,6e-5,0.04,0.04,[0.1 0.4 0.5])