Identified linear system contribution of input is zero
조회 수: 1 (최근 30일)
이전 댓글 표시
Hello,
I identified a cont. 3rd order linear system using System Identification Toolbox:
y = Cx + Du + e
dx/dt = Ax + Bu + Ke
Upon inspecting the model (which looked decent to me) I see that the "D" value, which is the contribution of input to system output, is zero.
How can this be? The system describes a DC motor controlled by PWM commands (output is shaft position). Surely the commands sent to the motor should influence the position?
I get the following values:
% A weights (3x3 matrix)
A = [ ...
0.0356, -3.4131, -14.9525;
-1.0591, 85.8128, 334.3098;
1.5729, -95.1123, -175.5517;
];
% B weights (3x1 vector)
B = [ ...
-0.0019;
0.0403;
-0.0225;
];
% C weights (1x3 vector)
C = [ -5316.9, 24.87, 105.92 ];
% D weight (scalar)
D = 0;
% K weights (3x1 vector)
K = [ ...
-0.0025;
-0.0582;
0.0984;
];
% Initial state
x0 = [ ...
-0.0458;
0.0099;
-0.0139;
];
댓글 수: 0
채택된 답변
Paul
2024년 4월 27일
The commands do influence the position of the motor through the dynamics as described by the differential equation. The output of the motor is position, so the input to the motor can't have an instantaneous effect on the position, as would be the case if D were non-zero. For example, torque has to integrate to velocity, which in turn has to integrate to position. Hence, a physically realizable applied torque will not cause an instantaneous change in position.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Linear Model Identification에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!