이 상황에서 interp1을 사용하는 것이 가장 좋습니다. 이렇게하면 x 축의 임의 위치에서 샘플링 할 수 있도록 점 사이의 보간이 수행됩니다.
http://www.mathworks.com/help/matlab/ref/interp1.html
나는 어떤 임의의 샘플 데이터 sample1
, sample2
및 sample3
을 가지고 다음 예제를 가지고있다. 이 변수의 길이는 각각 2600, 2500 및 2550입니다.
sample1 = exp(2*linspace(0,1,2600)+rand(1, 2600));
sample2 = exp(linspace(0,1,2500)+rand(1, 2500));
sample3 = exp(3*linspace(0,1,2550)+rand(1, 2550));
I 당신은 다음 코드를 사용하여 데이터를 보간 할 수
desiredlength = 2500;
원하는 길이 (나는 당신의 짧은 샘플 크기에 해당하는 길이를 사용하고)있다 (기본값은주의 선형 보간)
adjusted = zeros(3, desiredlength);
adjusted(1, :) = interp1(linspace(0,1,length(sample1)), sample1, linspace(0,1,desiredlength));
adjusted(2, :) = interp1(linspace(0,1,length(sample2)), sample2, linspace(0,1,desiredlength));
adjusted(3, :) = interp1(linspace(0,1,length(sample3)), sample3, linspace(0,1,desiredlength));
plot(adjusted')
linspace(a, b, n)
당신에게 a
와 b
사이 n
점의 벡터를 제공하는 기능이며, sample1
위해 나는 linspace(0, 1, 2600)
에서 난이 도움이되기를 바랍니다 linspace(0, 1, 2500)
로 변화하고있다.
시작 코드가 있습니까? – Huguenot