2016-07-12 8 views
0

서로 다른 크기의 두 배열의 차이를 찾을 수 있습니까?Matlab : 두 가지 다른 크기의 배열 차이점

제 문제는 두 개의 배열이 있는데, 크기가 비슷하고 각 점에서 오류가 필요하다는 것입니다.

데이터는 다음과 같다 : -

enter image description here

요 데이터가 요 참고보다 훨씬 크다.

+1

그것의 완벽 possible-, 패딩 배열 (당신의 두 배열의 가장 큰에 대한 사용 크기 속성을) 만들와 패딩 배열을 채 웁니다 작은 배열을 선택하고 비교합니다. – ha9u63ar

+0

padarray 함수는 배열의 끝이나 처음 또는 양쪽에 값을 추가하는 것을 허용하지만 나는 그 것을 보지 않습니다. 끝과 별 또는 두 배열을 일치시켜야하고 너무 작기 때문에 하나의 요소를 채워야합니다. –

+0

나는 두 배열의이 이미지를 크기 조정하지 않고도 [data2] (https://drive.google.com/open?id=0B20R_Z0cMZiZLTBHWUtjWUZlUFU)를 이해하는 데 필요하다고 생각합니다. –

답변

0

매우 순진한 방법으로 참조 배열의 각 요소를 간단히 채울 수 있습니다. 그것은 할 매우 간단하다 :

n = length(yaw)/length(yaw_ref); 

yaw_ref_pad = zeros(length(yaw), 1); 
for j = 1:length(yaw_ref)-1 
    yaw_ref_pad((n*j):(n*(j+1)) = yaw_ref(j); 
end 

또한 또는 당신이 원하는하지 않을 수 있습니다 더 적응 무언가를 할 수 있었다. 이 접근법은 파생 된 참조가 전환되어야하는 위치를 결정하기 위해 파생물을 사용합니다. 이것은 시스템이 과도한 PID 시스템처럼 보이고 출력을 사용하여 입력을 시드하기 때문에 조금 원형으로 간주 될 수 있습니다.

는 는 yaw_ref_pad 작성 후, 당신의 결과는 단순히

하나의 방법입니다

yaw_ref_pad = zeros(length(yaw), 1); 
[x, peaks] = findpeaks(diff(yaw)); 
for j = 1:length(peaks)-1 
    yaw_ref_pad(peaks(j):peaks(j+1)) = yaw_ref(j); 
end 

error = yaw_ref_pad - yaw; 
+0

oyu를 대단히 감사합니다. 첫 번째 방법은 완벽하게 작동했으며 정확히 내가 찾고 있던 방법이었습니다! –