Syslab 中使用 mixsyn 函数报错:MethodError: no method matching mixsyn,如何处理?
技术分享
发布于 2025-07-22 14:48:12
查看 1过去315天
问题现象
using TyRobustControl
using TyControlSystems
using TyPlot
s = zpk('s')
G = (s-1)/(s+1)^2
W1 = makeweight(10,[1,0.1],0.01)
W2 = []
W3 = makeweight(0.01,[1,0.1],10)
bodemag(W1,W2,W3)
K,CL,Gamma = mixsyn(G,W1,W2,W3)

解决方法
由于 mixsyn 函数支持的数据类型为: LTISystem | Nothing,不支持 [],因此出现报错。
示例:
1.将上述代码修改为:
using TyRobustControl
using TyControlSystems
using TyPlot
s = zpk('s')
G = (s-1)/(s+1)^2
W1 = makeweight(10,[1,0.1],0.01)
W2 = []
W3 = makeweight(0.01,[1,0.1],10)
bodemag(W1,W2,W3)
# W2 = [] 报错,不支持该类型
W2 = nothing
K,CL,Gamma = mixsyn(G,W1,W2,W3)
2.运行上述代码,可以看到成功运行:

所属专栏:Syslab基础平台
产品信息:Syslab科学计算环境