2013-04-25 5 views
2

두 개의 데이터 열이 있습니다. 첫 번째 열은 시간이고 두 번째 열은 시간의 함수입니다. 그러나 일부 시간 값이 손실되므로 함수 값이 손실됩니다. 잃어버린 행의 인덱스를 알지 못합니다 (데이터의 양이 너무 큽니다). 내가 시간 배열을 확장하고 해당 함수 값을 추가 할Matlab : 확장 가능한 배열, 데이터 손실

t x+w 
2t 2x+w 
3t 3x+w 
4t 4x 
5t 5x 
6t 6x+w 
7t 7x+w 

예를 들어, 나는이있다 : 같이 그러나

t x+w 
2t 2x+w 
3t 3x+w 
6t 6x+w 
7t 7x+w 

를, 그것은해야합니다. 사실 f (t)는 무작위 적이지만 선형 적으로 증가하는 결정 론적 거동을 가지고 있습니다. 따라서 수 천 개 중에 두 개의 값을 추가해도 상관 없습니다. 그렇다면 어떻게 Matlab에서이 작업을 수행 할 수 있습니까?

영어로 죄송합니다. 내가 나 자신을 설명 할 수 있기를 바란다. 감사합니다. . 데이터는 다음과 같습니다 경우

답변

3

:

지금
t = [1 2 3 6 7]; 
x = 2; 
w = 10; 
X = t*x + w; 

당신은 interpolate 누락 된 X 값을 얻을 수 있습니다 할 수 있습니다

:

ti = 1:7; 
Xi = interp1(t, X, ti); 

또는 경우에 당신은 당신이이 말을하는지

t = [1 2 3 6 7]; 
X = rand(size(t)); 

임의의 값을 기입하십시오 :

Xi(t) = X; %Space out the origianl random value according to t 
Xi(setdiff(1:7,t)) = rand() %Find the missing vlaues using setdiff and replace them with new random values 
ti = 1:7; 
+1

대단히 감사합니다. 내가 생각하기에 첫 번째가 작동 할 것입니다. – newzad

+0

아무런 문제가 없으므로 SO에 오신 것을 환영합니다. 올바른 경우 답변의 오른쪽 상단에있는 진드기를 클릭하여 표시하십시오. – Dan