已知传递函数G(s)=4.689*10^10/(s^4+1454*s^3+1.313*10^6*s^2+4.514*10^8+4.689*10^10),求零阶保持法后的H(z)
时间: 2023-11-20 19:06:08 浏览: 37
首先,根据零阶保持法,可以将s用z替代,即s=(1-T/2)/(1+T/2)*2/T*z-1,其中T为采样周期。
将传递函数G(s)代入上式,得到:
G(z)=4.689*10^10/[(1-T/2)/(1+T/2)*2/T*z-1]^4 + 1454*(1-T/2)/(1+T/2)*2/T*z-1]^3 + 1.313*10^6*(1-T/2)/(1+T/2)*2/T*z-1]^2 + 4.514*10^8*(1-T/2)/(1+T/2)*2/T*z-1 + 4.689*10^10]
化简后得到:
G(z)=[4.689*10^10*(1+4z^-1+6z^-2+4z^-3+z^-4)]/[1+(-1.556*z^-1+1.936*z^-2-1.122*z^-3+0.253*z^-4)]
因此,零阶保持法后的H(z)为:
H(z)=4.689*10^10*(1+4z^-1+6z^-2+4z^-3+z^-4)/[1+(-1.556*z^-1+1.936*z^-2-1.122*z^-3+0.253*z^-4)]
相关问题
计算:6.820110954=-(5*8.314*298*6.725 * 10^-10*5)^0.5*exp(96485*phi0/(8.314*298))*(exp(96485*phi0/(8.314*298))-1)*(1+2*exp(-96485*phi0/(8.314*298)))^0.5,求解phi0的值,其中phi0小于0
首先,将式子中已知的常数代入,得到:
6.820110954 = -(5*8.314*298*6.725 * 10^-10*5)^0.5*exp(96485*phi0/(8.314*298))*(exp(96485*phi0/(8.314*298))-1)*(1+2*exp(-96485*phi0/(8.314*298)))^0.5
化简括号内的指数幂:
6.820110954 = -(5*8.314*298*6.725 * 10^-10*5)^0.5*exp(96485*phi0/(8.314*298))*(exp(96485*phi0/(8.314*298))-1)*(1+2*exp(-2*96485*phi0/(8.314*298)))^0.5
继续化简:
6.820110954 = -(5*8.314*298*6.725 * 10^-10*5)^0.5*(exp(96485*phi0/(8.314*298))-1)*(1+2*exp(-2*96485*phi0/(8.314*298)))^0.5*exp(96485*phi0/(8.314*298))
移项并取对数:
ln(-6.820110954) = ln(5*8.314*298*6.725 * 10^-10*5)^0.5 + ln(exp(96485*phi0/(8.314*298))-1) + ln((1+2*exp(-2*96485*phi0/(8.314*298)))^0.5) + ln(exp(96485*phi0/(8.314*298)))
化简:
ln(-6.820110954) = ln(5*8.314*298*6.725 * 10^-10*5)/2 + ln(exp(96485*phi0/(8.314*298))-1) + 0.5*ln(1+2*exp(-2*96485*phi0/(8.314*298))) + 96485*phi0/(8.314*298)
令左侧的对数等于x:
x = ln(-6.820110954)
将已知数值代入,得到:
x = ln(-6.820110954) ≈ 1.915
然后,我们可以使用数值计算方法(如牛顿迭代)求解phi0的值。由于phi0小于0,我们可以猜测一个初始值,如phi0 = -0.1。然后,我们可以使用以下公式进行迭代:
phi0_new = phi0_old - f(phi0_old)/f'(phi0_old)
其中,f(phi0)是方程左边减去x,f'(phi0)是方程左边对phi0的导数。重复进行迭代直到收敛于一个精确值。
这个过程需要使用数值计算的工具,比如Python中的scipy.optimize模块。
E=1.0004e-04*p^3-0.0011*p^2+5.4744*p+1.5319e+03,Dp*ro=E*Dro
这个方程看起来是一个非线性的代数方程,其中包含了变量p和ro。根据方程 `Dp*ro=E*Dro`,推导出 `Dp = E*Dro/ro`。结合已知的E的表达式,我们可以得到以下代码来求解该方程:
```matlab
syms p ro % 定义符号变量
E = 1.0004e-04*p^3 - 0.0011*p^2 + 5.4744*p + 1.5319e+03; % E的表达式
% 求解Dp的表达式
Dp = E * diff(ro) / ro;
% 显示Dp的表达式
disp(Dp);
```
在这个示例中,我们首先定义了变量p和ro作为符号变量,然后给出了E的表达式。接着,使用符号计算中的`diff`函数求得了`Dp`的表达式,并将其赋值给变量`Dp`。最后,通过`disp`函数显示了`Dp`的表达式。
请注意,这只是方程的导数表达式,如果你需要求解具体的数值解,需要提供初始条件并使用数值方法进行求解,比如使用Matlab中的fsolve函数。