标签: python-control

PackagesNotFoundError:当前渠道无法使用以下软件包:

我对Python有些新意.我在一系列项目中使用过它,但实际上并不需要偏离其标准设置.我正在尝试安装一些新的软件包来访问大学任务所需的功能.当我尝试安装时,我得到以下内容:

(base) C:\Anaconda2\Jupyter>conda install -c python-control -c cyclus slycot control
Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  - slycot
  - control

Current channels:

  - https://conda.anaconda.org/python-control/win-64
  - https://conda.anaconda.org/python-control/noarch
  - https://conda.anaconda.org/cyclus/win-64

...
Run Code Online (Sandbox Code Playgroud)

还有一堆类似上面的其他渠道.

我一直在寻找解决方案,但没有发现任何重大问题.我已经看到它可能是Windows的一个问题,这就是我正在使用它.过去我不知道发生了什么.

请记住,我并不真正了解渠道和套餐的运作方式,因此对此问题的任何见解都会很棒.

install channel conda python-control

83
推荐指数
5
解决办法
12万
查看次数

如何在 Python 中指定线性系统中的时间延迟?

7年前有人在这个帖子中问过这个问题:

\n\n

如何在 Scipy 中定义具有时间延迟的 LTI 系统?

\n\n

答案已经过时了,或者至少我不知道如何让它发挥作用,我想知道目前是否有办法做到这一点。

\n\n

我想创建一个如下所示的传递函数其中s0.1 为时间延迟。

\n\n

在 matlab 中我会做这样的事情:

\n\n

H=tf(1,\'InputDelay\',0.1);

\n\n
s=tf(\'s\');\nG=1/(s+1);\nQ=1+0.5*s+2/s;\n
Run Code Online (Sandbox Code Playgroud)\n\n

这样我就可以使用传递函数进行如下操作:

\n\n
M=feedback(Q*G,H);\nM=minreal(M);\ndisplay(M);\n
Run Code Online (Sandbox Code Playgroud)\n\n

我想知道 python 中是否有等效的。这样我就不必使用限制代码通用性的符号表达式。

\n\n

使用符号表达式,它看起来像这样:

\n\n
s = 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)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我想过使用 numpy 或 sympy exp 但都不起作用:

\n\n
s = ct.tf(\'s\')\nH = np.exp(-0.1*s)\n
Run Code Online (Sandbox Code Playgroud)\n\n

输出:

\n\n

TypeError: loop of ufunc does not support argument 0 …

python matlab python-3.x transfer-function python-control

3
推荐指数
1
解决办法
3918
查看次数