How to change C and D matrices of a state-space model?
14 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Jesús Zambrano
2021-5-26
What about:
sys2 = ss(A, B, sys2_C, sys2_D, 'StateName', sys1.StateName)
2 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!