Контроль количества состояний в инструменте линейного анализа Matlab
Я линеаризирую модель Simulink с 3 входами и 6 выходами, используя инструмент линейного анализа MATLAB. Он включает в себя интегратор, который передает все мои 6 состояний: Roll, Rolldot, Pitch, Pitchdot, Yaw и Yawdot.
Проблема в том, что линеаризованная система включает в себя только 3 состояния, что противоречит тому, что я хочу моделировать. По-видимому, это делается с помощью опции BlockReduction в команде linearize. Мне интересно, есть ли способ, с помощью которого я могу сказать инструменту линейного анализа не реализовывать свою систему минимально. Я не пробовал использовать командный синтаксис, но думаю, что это можно сделать таким образом.
1 ответ
Я не могу вспомнить, есть ли опция в инструменте линеаризации (GUI), чтобы отключить уменьшение блока, но определенно есть способ сделать это, используя версию командной строки, см. LinearizeOptions:
sys = 'watertank';
load_system(sys);
opspec = operspec(sys);
op = findop(sys,opspec);
sys_io(1)=linio('watertank/PID Controller',1,'input');
sys_io(2)=linio('watertank/Water-Tank System',1,'openoutput');
options = linearizeOptions('BlockReduction','off'); % add other options as required
linsys = linearize(sys,op,sys_io,options);
bdclose(sys);