How to change C and D matrices of a state-space model?
13 views (last 30 days)
Show older comments
Hi,
I created a state-space model with the Simulink Linearization Manager and would like to derive a model with fewer outputs. So far, however, my approaches have only led to errors:
A = eye(3);
B = ones(3,1);
C = [1 0 0; 0 1 0];
D = [0; 0];
sys1 = ss(A, B, C, D, ...
'StateName', {'S1', 'S2', 'S3'}, ...
'OutputName', {'O1', 'O2'});
sys2_C = [1 0 0];
sys2_D = 0;
sys2 = sys1;
%sys2.C = sys2_C;
% Error: The "C" and "D" matrices must have the same number of rows.
sys2 = ss(A, B, sys2_C, sys2_D, sys1);
% Error: Property "OutputName" must specify one name per output channel.
Is there an elegant way to create sys2 while keeping the properties (such as StateName) of sys1?
0 Comments
Accepted Answer
Jesús Zambrano
on 26 May 2021
What about:
sys2 = ss(A, B, sys2_C, sys2_D, 'StateName', sys1.StateName)
2 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!