7年前有人在这个帖子中问过这个问题:
\n\n\n\n答案已经过时了,或者至少我不知道如何让它发挥作用,我想知道目前是否有办法做到这一点。
\n\n我想创建一个如下所示的传递函数,其中s0.1 为时间延迟。
在 matlab 中我会做这样的事情:
\n\nH=tf(1,\'InputDelay\',0.1);
s=tf(\'s\');\nG=1/(s+1);\nQ=1+0.5*s+2/s;\nRun Code Online (Sandbox Code Playgroud)\n\n这样我就可以使用传递函数进行如下操作:
\n\nM=feedback(Q*G,H);\nM=minreal(M);\ndisplay(M);\nRun Code Online (Sandbox Code Playgroud)\n\n我想知道 python 中是否有等效的。这样我就不必使用限制代码通用性的符号表达式。
\n\n使用符号表达式,它看起来像这样:
\n\ns = sym.symbols(\'s\')\nG = 1/(s+1)\nQ = 1+0.5*s+2/s\nH = sym.exp(-0.1*s)\n# C\xc3\xa1lculo de la funci\xc3\xb3n de transferencia global\nM = Q*G/(1+Q*G*H)\nM = sym.simplify(M)\nsym.pprint(M)\nRun Code Online (Sandbox Code Playgroud)\n\n我想过使用 numpy 或 sympy exp 但都不起作用:
\n\ns = ct.tf(\'s\')\nH = np.exp(-0.1*s)\nRun Code Online (Sandbox Code Playgroud)\n\n输出:
\n\nTypeError: loop of ufunc does not support argument 0 …