我正在分析一个LTI系统,我想在Matlab和Python中交叉检查结果。但是,我无法使Control.InputOutput系统正常工作
我尝试过使用import control.iosys
、from control import InputOutputSystem as ios
等等,但总是出现导入错误。
我想要实现的是下面的代码,但是在Python中结合了控制模块
bypass = ss(eye(2),...
'InputName',{'coll' 'long'},...
'OutputName',{'coll' 'cycl_l'});
bypass_connect = parallel(ss_scas, bypass, 'name');
oloop = series(bypass_connect, model.ss, 'name');
% oloop = series(ss_scas, model.ss);
outputnames = {'u' 'w' 'tht' 'q' 'fx' 'fz' 'qdot'};
oloop.OutputName = outputnames;
FeedbackChannels = {'tht' 'q'};
K = ss(eye(2),'InputName',FeedbackChannels,...
'OutputName',FeedbackChannels);
cloop = feedback(oloop,K,'name',+1);
model = struct();
model.ss = cloop;
model.ss_red = minreal(cloop);
我的目的是:
import numpy as np
from control import matlab as ml
from *** import model
from afcs import ss_scas
## Combination with bare linear model
ZZ = np.zeros((2,2))
bypass = ml.ss(ZZ, ZZ, ZZ, np.eye(2))
bypass.InputName = ('coll', 'long')
bypass.OutputName = ('coll', 'cycl_l')
bypass_connect = ml.parallel(ss_scas, bypass, 'name')
oloop = ml.series(bypass_connect, model.ss, 'name')
# oloop = series(ss_scas, model.ss)
outputnames = ('u', 'w','tht' ,'q', 'fx', 'fz' ,'qdot')
oloop.OutputName = outputnames
任何提示都会有帮助
目前没有回答
相关问题 更多 >
编程相关推荐