根据下面这段代码,求解Zddce的传递函数 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; 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); Zddce = Zoutce(1,1); Zdqce = Zoutce(1,2); Zqdce = Zoutce(2,1); Zqqce = Zoutce(2,2);
时间: 2023-06-25 08:05:08 浏览: 62
根据给出的代码,可以看出系统的传递函数为:
$$
Z_{ddce}(s) = \frac{LfCs^3 + (Rf + U_{dc}Cf)s^2 - W_1^2LfCf + 1}{s^2(LfCs^2 + RfCs + 1) - j\frac{3V_d^2}{D_p}s - U_{dc}(k_p + \frac{k_i}{s})(k_v + \frac{k_i}{s})}
$$
其中,$U_{dc}$ 为直流电压,$V_d$ 为 $d$ 轴电压,$k_p$、$k_i$、$k_v$、$k_i$ 为控制器参数,$K$、$D_q$、$W_1$、$J$、$D_p$、$L_f$、$R_f$、$C_f$ 分别为机械系统的参数。
相关问题
请用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; 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); Zddce = Zoutce(1,1); Zdqce = Zoutce(1,2); Zqdce = Zoutce(2,1); Zqqce = Zoutce(2,2);
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;
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];
Udc = 1; % assuming Udc = 1
Zoutce =(Udc*A-C)\(D-Udc*B);
Zddce = Zoutce(1,1);
Zdqce = Zoutce(1,2);
Zqdce = Zoutce(2,1);
Zqqce = Zoutce(2,2);
% Print the transfer functions
fprintf('Zddce = %s\n',char(Zddce));
fprintf('Zdqce = %s\n',char(Zdqce));
fprintf('Zqdce = %s\n',char(Zqdce));
fprintf('Zqqce = %s\n',char(Zqqce));
请根据下面这段代码用MATLAB画出Zddce,Zdqce,Zqdce,Zqqce的Bode图s = tf('s'); kpi=6;kii=50;kpv=2;kiv=50;K=6.5;Dq=320;W1=100pi;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)-Cfs),(kpi+kii/s)(-1.5*(kpv+kiv/s)(1/(Ks+Dq))Id+W1Cf);(kpi+kii/s)(-1.5Id*(kpv+kiv/s)Vd/(J(s^2)+Dps)/W1-W1Cf),(kpi+kii/s)(-(kpv+kiv/s)-Cfs)]; B=[-(kpi+kii/s),1.5Vd(kpi+kii/s)(kpv+kiv/s)/(Ks+Dq);-1.5*(Vd^2)/(J*(s^2)+Dps)/W1(kpi+kii/s)(kpv+kiv/s),-(kpi+kii/s)]; C=[LfCf*(s^2)+RfCfs-(W1^2)LfCf+1,-2W1LfCfs-W1RfCf;2W1LfCfs+W1RfCf,LfCf(s^2)+RfCfs-(W1^2)LfCf+1]; D=[Lfs+Rf,-W1Lf;W1Lf,Lfs+Rf]; Zoutce =(UdcA-C)(D-UdcB);
首先,我们需要将系统的传递函数表示出来。
根据代码中的系统矩阵A、B、C、D,可以得到系统的传递函数为:
```
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) (-(kpv+kiv/s)-Cf*s) (-1.5*Id*(kpv+kiv/s)*Vd/(J*s^2+Dp*s)/W1-W1*Cf) (kpi+kii/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);
Zddce = Zoutce(1,1);
Zdqce = Zoutce(1,2);
Zqdce = Zoutce(2,1);
Zqqce = Zoutce(2,2);
```
其中,Zddce表示输出Zd与输入Zd之间的传递函数,Zdqce表示输出Zd与输入Zq之间的传递函数,Zqdce表示输出Zq与输入Zd之间的传递函数,Zqqce表示输出Zq与输入Zq之间的传递函数。
然后,我们可以使用MATLAB中的`bode`函数来绘制Bode图。代码如下:
```
bode(Zddce,Zdqce,Zqdce,Zqqce)
grid on
legend('Zddce','Zdqce','Zqdce','Zqqce')
```
运行该代码即可得到四个传递函数的Bode图。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)