数学建模社区-数学中国

标题: 传递函数相乘之后再画波特图就不对了,什么鬼 [打印本页]

作者: sarcophile    时间: 2019-3-17 18:11
标题: 传递函数相乘之后再画波特图就不对了,什么鬼
ttt = tf431*tfOutFtr* [* ]; Q; x8 L% N7 U
tfttt = TransferFunctionModel[ttt, s]
, ^, S* ^% E, G& L6 h7 w4 F) NBodePlot[tfttt, {0.1, 100000}, {StabilityMargins -> True}, {PlotTheme -> "Detailed"}, {ImageSize -> globalImageSize}]+ l6 z4 L+ g& Z: c: k
; X! O7 R% }/ n3 i" n$ {
其中第一行的 tf431 和 tfOutFtr 都是前面计算好的 (s 的函数),分别用TransferFunctionModel 转化后画波特图也没问题。但是用上面这三行程序,先相乘之后再画波特图,与分开画的波特图然后相加的结果不相等。如1Hz时tf431和tfOutFtr分别是15.6和31.0,上面三行画出来的应该是46.6,但是实际画出来大约是274,相差很多,还验证了10Hz,1000Hz也不对,但是10khz差不多6 S3 r, Z8 o* X) N% e( `# X% v1 ]

/ q9 D! e7 x6 n( o* \附件 try2.nb是完整的文件/ S) f. ?; Z, u8 S% |) ^% E% `
t.nb是专门编了一个简单的例子,用了两个简单的传函然后相乘,就没问题。相乘后的传函每一点的幅值都等于相乘前两个幅值相加。 t.nb (566.88 KB, 下载次数: 0) % }2 ]7 h+ i6 {% h/ o
Try2.nb (963.72 KB, 下载次数: 0) * X: I9 N- U4 }7 Z7 b' ~, t

% z3 x3 o8 [& i* y6 O  \6 Q5 {& d1 q+ b" D
0 Y) ]3 i' O1 [' W3 K& ^8 D6 u





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5