Octave 如何在倍频程中划分两个传递函数?

Octave 如何在倍频程中划分两个传递函数?,octave,Octave,如何在倍频程中划分两个传递函数?我想计算:A=CPTd/1+CPTe+CP的总传递函数,其中C,P,Td和Te都是传递函数本身 我的代码: # not a function file: Wn = 4000; DampingRatio = 2^-0.5; P=tf([1],[0.001 1]); C=tf([Wn^2],[1 2*DampingRatio*Wn 0]) / P; Td=tf([-0.0001 1],[0.0001 1]); Te=tf([-0.00001 1],[0.00001

如何在倍频程中划分两个传递函数?我想计算:A=CPTd/1+CPTe+CP的总传递函数,其中C,P,Td和Te都是传递函数本身

我的代码:

# not a  function file:
Wn = 4000;
DampingRatio = 2^-0.5;
P=tf([1],[0.001 1]);
C=tf([Wn^2],[1 2*DampingRatio*Wn 0]) / P;
Td=tf([-0.0001 1],[0.0001 1]);
Te=tf([-0.00001 1],[0.00001 1]);
CP=sysmult(C,P);

A_num=sysmult(CP,Td);
A_denum=sysadd(tf([1],[1]), sysadd(sysmult(CP,Te),CP));
A = Anum / A_denum;
sysout(A, "tf");

提前感谢。

简单的乘法应该可以工作(使用倍频程3.6.2)
minreal
创建传递函数的最小实现

>> A = C*P*Td/(1+C*P*Te+C*P)

Transfer function 'A' from input 'u1' to output ...

                     -1.6e-011 s^9 - 1.669e-006 s^8 - 0.005715 s^7 + 127.6 s^6 +
 9.128e+005 s^5 + 1.94e+009 s^4 + 1.671e+012 s^3 + 5.12e+014 s^2
 y1:  --------------------------------------------------------------------------
-------------------------------------------------------------------------------
      1e-018 s^11 + 1.3e-013 s^10 + 3.347e-009 s^9 + 4.018e-005 s^8 + 0.2859 s^7
 + 1294 s^6 + 3.544e+006 s^5 + 5.192e+009 s^4 + 3.717e+012 s^3 + 1.024e+015 s^2

Continuous-time model.
>> A = minreal(A)

Transfer function 'A' from input 'u1' to output ...

                  -1.6e+007 s^5 - 1.488e+012 s^4 + 1.163e+016 s^3 + 4.366e+019 s
^2 + 4.656e+022 s + 1.6e+025
 y1:  --------------------------------------------------------------------------
----------------------------------------
      s^7 + 1.187e+005 s^6 + 1.972e+009 s^5 + 1.407e+013 s^4 + 6.355e+016 s^3 +
1.242e+020 s^2 + 1.049e+023 s + 3.2e+025

Continuous-time model.

您从何处获得
sysmult
?它似乎不在Octave 3.6.2的控制包中