请根据下面这段代码用MATLAB求出Zddce,Zdqce,Zqdce,Zqqce的具体形式s = tf('s'); kpi=6;kii=50;kpv=2;kiv=50;K=6.5;Dq=320;W1=100*pi;J=0.013;Dp=5;Vd=310.272;Id=32.23;Udc=400; Lf=2e-3;Rf=1.5;Cf=200e-6; A=[(kpi+kii/s)*(-(kpv+kiv/s)-Cf*s),(kpi+kii/s)*(-1.5*(kpv+kiv/s)*(1/(K*s+Dq))*Id+W1*Cf);(kpi+kii/s)*(-1.5*Id*(kpv+kiv/s)*Vd/(J*(s^2)+Dp*s)/W1-W1*Cf),(kpi+kii/s)*(-(kpv+kiv/s)-Cf*s)]; B=[-(kpi+kii/s),1.5*Vd*(kpi+kii/s)*(kpv+kiv/s)/(K*s+Dq);-1.5*(Vd^2)/(J*(s^2)+Dp*s)/W1*(kpi+kii/s)*(kpv+kiv/s),-(kpi+kii/s)]; C=[Lf*Cf*(s^2)+Rf*Cf*s-(W1^2)*Lf*Cf+1,-2*W1*Lf*Cf*s-W1*Rf*Cf;2*W1*Lf*Cf*s+W1*Rf*Cf,Lf*Cf*(s^2)+Rf*Cf*s-(W1^2)*Lf*Cf+1]; D=[Lf*s+Rf,-W1*Lf;W1*Lf,Lf*s+Rf]; Zoutce =(Udc*A-C)\(D-Udc*B);
时间: 2023-06-27 13:02:00 浏览: 186
根据给出的代码,可以使用MATLAB中的控制系统工具箱函数tf和ss来求出Zddce,Zdqce,Zqdce,Zqqce的具体形式。
首先,将给出的状态空间模型转化为传递函数模型,可以使用ss2tf函数,代码如下:
```
s = tf('s');
kpi=6;kii=50;kpv=2;kiv=50;K=6.5;Dq=320;W1=100*pi;J=0.013;Dp=5;Vd=310.272;Id=32.23;Udc=400;
Lf=2e-3;Rf=1.5;Cf=200e-6;
A=[(kpi+kii/s)*(-(kpv+kiv/s)-Cf*s),(kpi+kii/s)*(-1.5*(kpv+kiv/s)*(1/(K*s+Dq))*Id+W1*Cf);(kpi+kii/s)*(-1.5*Id*(kpv+kiv/s)*Vd/(J*(s^2)+Dp*s)/W1-W1*Cf),(kpi+kii/s)*(-(kpv+kiv/s)-Cf*s)];
B=[-(kpi+kii/s),1.5*Vd*(kpi+kii/s)*(kpv+kiv/s)/(K*s+Dq);-1.5*(Vd^2)/(J*(s^2)+Dp*s)/W1*(kpi+kii/s)*(kpv+kiv/s),-(kpi+kii/s)];
C=[Lf*Cf*(s^2)+Rf*Cf*s-(W1^2)*Lf*Cf+1,-2*W1*Lf*Cf*s-W1*Rf*Cf;2*W1*Lf*Cf*s+W1*Rf*Cf,Lf*Cf*(s^2)+Rf*Cf*s-(W1^2)*Lf*Cf+1];
D=[Lf*s+Rf,-W1*Lf;W1*Lf,Lf*s+Rf];
[Zddce_num, Zddce_den] = ss2tf(A, B, C, D, 1);
[Zdqce_num, Zdqce_den] = ss2tf(A, B, C, D, 2);
[Zqdce_num, Zqdce_den] = ss2tf(A, B, C, D, 3);
[Zqqce_num, Zqqce_den] = ss2tf(A, B, C, D, 4);
```
这样就可以得到Zddce,Zdqce,Zqdce,Zqqce的传递函数的分子和分母数组。如果需要查看具体形式,可以使用tf函数将其转化为传递函数的形式,代码如下:
```
Zddce = tf(Zddce_num, Zddce_den)
Zdqce = tf(Zdqce_num, Zdqce_den)
Zqdce = tf(Zqdce_num, Zqdce_den)
Zqqce = tf(Zqqce_num, Zqqce_den)
```
其中,Zddce、Zdqce、Zqdce、Zqqce分别对应于传递函数模型中的Zdd(s)、Zdq(s)、Zqd(s)、Zqq(s)。
阅读全文