1

I am linearizing a simulink model with 3 inputs and 6 outputs using MATLAB linear analysis tool. It includes an integrator which transfers all my 6 states which are: Roll, Rolldot, Pitch, Pitchdot, Yaw, and Yawdot.

The problem is that the linearized system includes only 3 states which is contrary to what I want to model. This is seemingly done by the BlockReduction option in the linearize command. I'm wondering if there is a way that I can tell the linear analysis tool not to minimally realize my system. I haven't tried using command syntax, but I figure that it can be done that way.

SinaReza
  • 11
  • 1

1 Answers1

0

I can't remember if there is an option in the linearisation tool (GUI) to turn off the Block Reduction, but there is definitely a way to do this using the command line version, see 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);
am304
  • 13,758
  • 2
  • 22
  • 40
  • I did turn off BlockReduction and still get the same result. When I linearize the integrator I get a 6*6 system with 6 full states. Also, I have an interpreted MATLAB Function block before the integrator which individually gives me a 9*9 system with zero states! However the overall linearization results in only 3 states. I can't figure why some states are ignored during the process. – SinaReza Dec 05 '14 at 11:49
  • It's difficult to comment any further without seeing the model. It looks like 3 of the states are directly related (derivatives) to the other 3, so the minimum needed to represent the system is 3 states, not 6. Just a guess... – am304 Dec 05 '14 at 11:56