시스템 식별 도구 상자에서 불규칙한 샘플 데이터를 지원하는 것은 매우 제한적입니다. System Identification Toolbox의 많은 기능에는 정기적으로 샘플링 된 데이터 see this link이 필요합니다.
귀하의 입력 & 출력 데이터가 같은 순간에 쌍으로 측정되었지만 인접한 샘플 간의 시간 간격은 일정하지 않은 것으로 보입니다.
이 경우 interp1과 같이 몇 가지 (선형) 보간법을 사용할 수 있습니다. 이것은 추정에 약간의 오류를 가져올 수 있지만 간단하고 빠른 접근법입니다. 정기적 인 시간 단계를 사용하여 새로운 시간 격자를 정의하고이를 보간하면됩니다.
% create some dummy data
time = rand(20,1); % irregular sampled measurements
input = sin(2*pi*time); % some input signal
output = cos(2*pi*time); % some output signal
% define new time vector and interpolate input and output data
Ts = 0.01; % new sampling time in seconds
newTime = min(time) : Ts : max(time); % new time vector
inputInterp = interp1(time, input, newTime ) % interpolated input data
outputInterp = interp1(time, output, newTime ) % interpolated output data
% lets see what just happend
figure
plot(time,input,'o'), hold on
plot(time,output,'ro');
plot(newTime, inputInterp, 'x')
plot(newTime, outputInterp, 'rx')
legend({'Original Input', 'Original Output', 'Interpolated Input', 'Interpolated Output'})
트릭을 수행해야합니다.
(원본) 샘플링 빈도가 관련 역학의 빈도보다 큰 경우 오류가 적어야합니다. 쿼드 로코터의 (강체) 동역학은 1Hz 단위이므로 50 또는 100Hz에서 입력 및 출력 데이터를 측정하는 것이 일반적으로 좋습니다 (그러나 이는 응용 프로그램에 따라 다를 수 있음).
모델을 만들려고하는 데이터에 대해 많은 정보를 제공하지 않고 있습니다 ... – Trogdor
글쎄, 데이터 유형이 중요하다고 생각하지는 않지만 입력 데이터는 4 PWM (펄스 폭 변조)는 각 시간 샘플마다 4 개의 모터로 전송되며, 내 출력 데이터는 쿼드 코터의 태도를 설명하는 각 샘플링 시간에 오일러의 각도 집합입니다. –