我一直在寻找Matlab的System Identification Toolbox的替代方案,但是术语“ system”和“ identification”的通用性使搜索变得混乱。

是否有为此目的编写的独立库? (在C ++,C#,Python等中)

评论

您在寻找任何特定的算法吗?我对大多数MATLAB工具箱的经验是,我最多将使用其中的一些功能。通过更有针对性的搜索,您可能会获得更好的成功。

@JasonR非常正确。我已经找到了通常用于时间序列的其他语言的工具,但是很难确定诸如Hammerstein-Wiener模型之类的特定项目(我什至不确定我是否需要,但仍然)。这些模型中的许多网站也倾向于引用“系统标识工具箱”。我可以将答案与到目前为止的发现结合起来。

#1 楼

系统识别工具箱包含用于


线性系统识别和传递函数确定的工具
非线性“黑箱”模型
ODE参数估计
>时间序列标识

使用此功能是最有希望的替代方法之一。使用R。两个包含一些时间序列功能的软件包是“时间序列实用程序和分析”软件包以及“灵活”软件包逆建模,敏感性,可识别性,蒙特卡洛分析的建模环境。时间序列分析和控制软件包还共享了这些功能。

传递函数计算和操纵的一个选项(试图替代Matlab控制系统工具箱,该工具箱与系统ID重叠) )是适用于Python的控制系统库,但是CSL没有任何用于处理系统标识的功能,只有操纵传递函数的能力(感谢JasonS指出了这一点)。 Ch Control System Toolkit允许人们对线性系统进行建模并确定传递函数。

我敢肯定还有其他示例,但是可能需要深入挖掘。

评论


$ \ begingroup $
感谢您指向Python控制系统库的指针。但是,它似乎没有任何系统ID功能。
$ \ endgroup $
–Jason S
14年6月19日在16:44

$ \ begingroup $
@JasonS我已经有一段时间没有看过这些东西了,但是我会尝试提出一个更好的软件包(到那时肯定有一些东西)。尽管CSL没有任何用于系统标识的显式函数,但它确实具有用于处理传递函数的Python类。我想也许我会用这个来澄清答案。
$ \ endgroup $
– jonsca
14年6月19日在17:02

#2 楼

SIDPAC是可从software.nasa.gov免费获得的程序。它针对飞机系统ID问题,但是基本方法也适用于其他问题类型。

评论


$ \ begingroup $
查理(Charlie),看来他们的网站上不再可用。您有直接链接吗?
$ \ endgroup $
– jonsca
19年6月18日在0:42