본문 바로가기

오름차순3

MATLAB 스트럭처 정렬 방법 MATLAB 을 사용하다 보면 struct 타입을 종종 사용하곤 합니다. 그리고 struct 타입을 모아서 배열로도 사용하곤 하는데 MATLAB 기본 함수중에 struct 타입 배열을 정렬하는 기능의 함수는 없는것 같더군요. 그냥 만들어 사용해도 되겠지만 검색을 조금 해보니 비슷한 코드를 발견했고 해당 코드를 정리해서 아래와 같은 함수로 만들었습니다. 이제 함수를 만들었으니 한번 사용해 보죠. a = struct('id',1, 'data', [1:10])b = struct('id',2, 'data', [2:11])beforeVec= [b a]; % 두 struct 를 사용하여 배열로 만듬sortedVec = struct_sort_by_field(beforeVec,1,1); % 첫번째 field 의 첫번째.. 2019. 3. 27.
C++ sort 인덱스도 정렬하기 프로그래밍을 배우면서 아마도 가장 처음 접하게 되는 알고리즘이 바로 정렬 알고리즘이 아닌가 생각되네요. C++ 에서는 algorithm 헤더에 sort, stable_sort, partial_sort 와 같은 함수들이 정의되어 있습니다. C++ STL 이 참 좋긴 하더군요. ㅋㅋㅋㅋ partial_sort 는 말 그대로 일부를 정렬하겠다는 거로 이해하시면 될 것 같고 저는 처음에 sort 와 stable_sort 가 좀 헷갈리더군요. 무슨 차이일까… 하고요. 차이는 간단한데요. 동일한 값이 있을 경우 stable_sort 의 경우에는 정렬 하기 전의 순서가 정렬후에도 유지된다고 하더군요. 위 함수들의 사용법 등에 대해서는 아래 주소의 예제들을 참조하시면 쉽게 이해하실 겁니다. http://www.cplu.. 2013. 3. 12.
MATLAB diff(), sortrows(), 오늘의 포스팅에서는 MATLAB 기본 함수 몇 가지에 대해 설명해 보려 합니다. diff(X, n) 함수는 인자간의 차이를 구하는 함수 입니다. n 값은 차이를 구하는 횟수를 의미 합니다. 아래 예를 보면 쉽게 이해하실 겁니다. diff(x, 2) 는 차이를 두 번 구하는 거죠. diff(x) 의 결과를 보면 [2 2 2 2] 니까 이 벡터에 대해 차이를 구하면 [0 0 0]이 나오게 되는 겁니다. sortrows(X, n) 은 X matrix 를 n column index 기준으로 정렬하는 함수 입니다. default 는 오름차순입니다. 다음 예를 보죠. 1열을 기준으로 오름차순 정렬하는 예입니다. 2열을 기준으로 오름차순 정렬하는 예입니다. 다음 예는 1열을 기준으로 오름차순 정렬한 후에 1열에 같은.. 2011. 4. 3.