나는 완전히 이와 관련되어있다. 나는 이와 같은 SQL 문에서 얻은 목록의 플랫 파일 유형으로 시작하여이를 4D 배열로 변형하려고한다. . A4에MATLAB : 플랫 파일 목록을 다차원 배열로 변환
SELECT a1, a2, a3, a4, v FROM table A;
a1 a2 a3 a4 v
--------------
2 2 3 3 100
2 1 2 2 200
3 3 3 3 300
...
- A1의 범위에서 약간의 식별자 (정수) (1 : 5),도 4D 어레이를 채워야하기위한 새로운 좌표있는.
- v는 (double) 값입니다. 측정 결과.
이제는이 목록을 각 차원이 오른쪽 좌표에 놓이는 차원 (5,5,5,5)의 4D 배열로 변환하는 것이 좋습니다.
이것은 for 루프를 사용하여 쉽게 수행 할 수 있지만 많은 양의 데이터가 있으므로 실제로는 실현할 수 없습니다. 난 그냥 1 차원이 있다면
, 나는이 같은 somesthing 할 것 :
a1 = [2;5;7]; % Identifiers
v = [17;18;19]; % Values
b1 = (1:10)'; % Range of Identifiers
V = zeros(10,1); % Create result vector with correct dimensions
idx = ismember(b1, a1); % Do the look up
V(idx) = v; % Insert
내 질문 : 나는 루프 위해를 사용하지 않고 위에서 언급 한 4D 배열 이 작업을 수행하는 방법에 대해 설명합니다. 그것을하는 "Matlab Way"가 있습니까?
도움을 주시면 대단히 감사하겠습니다.
덕분에, 야노 쉬
625 개의 관측치가 있습니다. 첫 번째 네 개의 열은 행렬 인덱스를 나타내고, 마지막 열은 행렬 값을 나타냅니다. – prototoast
예. 또한 그보다 작을 수도 있는데,이 경우 누락 된 값은 0이됩니다. – Janosch
선형 인덱싱으로이 작업을 수행 할 수 있습니까? – Janosch