2016-10-27 1 views
0

NaN (155 * 135) 행렬과 행 및 열 번호가있는 특정 값을 나타내는 다른 행렬이 있습니다. 같은 값을 가진 NaN 행렬에이 값들을 다시 할당 할 수있는 방법이 있습니까?특정 위치의 NaN 행렬에 행과 열 값을 할당합니다.

R C Value 
19 4 -1133.803 
20 4 -295.6810 
32 4 -1906.021 
20 5 -1027.048 
21 5 -293.0065 
32 5 236.0525 
33 5 -425.1248 

답변

2

사용 sub2ind로 가정 :

data = [ 
    % R C Value 
    19 4 -1133.803 
    20 4 -295.6810 
    32 4 -1906.021 
    20 5 -1027.048 
    21 5 -293.0065 
    32 5 236.0525 
    33 5 -425.1248]; 
N = nan(155,135); 
N(sub2ind(size(N),data(:,1),data(:,2))) = data(:,3); 

그래서 당신이 N(min(data(:,1)):max(data(:,1)),min(data(:,2)):max(data(:,2))) 얻을 (즉, N(19:32,4:5)) :

ans = 
     -1133.8   NaN 
     -295.68  -1027 
      NaN  -293.01 
      NaN   NaN 
      NaN   NaN 
      NaN   NaN 
      NaN   NaN 
      NaN   NaN 
      NaN   NaN 
      NaN   NaN 
      NaN   NaN 
      NaN   NaN 
      NaN   NaN 
     -1906  236.05 
      NaN  -425.12 
+0

완벽한! 고마워요! :) –

1

당신은 accumarray 사용할 수 있습니다

result = accumarray([R C] , Value,[155,135],[],NaN) 

참고 : RC 열 벡터

에게
+0

고마워요! 그것은 효과가 있었다. 필자는 1675 값을 쓰고 싶지만. –