본문 바로가기

PROGRAMMING/MATLAB7

계층적 군집화(Hierarchical Clustering) 예제 코드 계층적 군집화 예제 코드 ↓↓↓↓↓샘플코드 다운로드 ↓↓↓↓↓ 파일 구성date7_8.mat: 샘플 데이터 - 150개 * 2차원KNOU_hierarchical_MATLAB.m: MATLAB 용 샘플 코드KNOU_hierarchical_Octave.m: Octave용 샘플 코드 내용샘플 데이터 로드 pdist 함수 이용하여 샘플 데이터 사이의 거리계산 - 유클리디안거리(L2-norm) 사용linkage 함수 이용하여 hierarchical cluster tree 생성 - 최단연결(single), 최장연결(furthest), 평균연결(average) 사용dendrogram 함수 이용하여 군집화 결과 출력 계층적 군집화 (Hierarchical Clustering) 계층적 군집화(Hierarchical cl.. 2017. 4. 10.
[Octave] GNU Octave 설치 GNU Octave는 MATLAB의 대체제로 가장 좋은 프로그램으로 대부분의 문법이 MATLAB과 호환되어 MATLAB에서 작성된 코드를 Octave에서 사용할 수 있으며 결정적으로 무료라는 장점이 있다.> 1. Octave 다운로드 및 설치 ① Octave 다운로드> https://ftp.gnu.org/gnu/octave/windows/ Windows 10 64-Bit에 설치 예정이므로 가장 최신의 64비트 버전 설치 (2017.03.08 기준) octave-4.2.1-w64-installer.exe 다운로드하여 설치 ② Octave 설치 다운로드 받은 설치 프로그램을 실행하면 설치 경고가 나오지만 그냥 설치하면 된다. 다만 Octave가 Java 를 활용하므로 JRE(Java Runtime Libra.. 2017. 3. 8.
[MATLAB] Random Seed 지정 MATLAB에서 rand, randi, randn 함수를 이용해 random number를 생성하는 경우, reproducible research 관점에서 생성되는 random number를 고정하고 싶을 때가 있다. 이를 위해서는 이전의 프로그램 언어들과 유사하게 MATLAB에서도 random number 생성에 관여하는 random seed를 고정함으로써 생성되는 값을 조정할 수 있다. 먼저 기존에 사용하던 형태는 아래와 같다. >> randn('seed', 0)>> randn(1,5) ans = 1.1650 0.6268 0.0751 0.3516 -0.6965 MATLAB R2010b 기준으로 RandStream을 이용하여 random seed를 고정할 수 있다. >> s = RandStream('m.. 2015. 1. 5.
m파일 하나에 여러 개의 함수 작성 MATLAB에서 코드를 작성하는 경우 함수를 작성하여 보다 간결하게 할 때가 많다. 간혹 하나의 함수를 호출하였을 때 내부에서 다시 다른 함수(호출된 함수에 종속된 함수)를 호출하는 경우가 있다. 이를 그림으로 표현하면 아래와 같다. FunctionA는 실제 호출되는 함수로 해당 코드는 FunctionA.m으로 저장이 될 것이다. FunctionB와 FunctionC는 FunctionA에서 사용된 함수로 FunctionA에 종속된 함수이다. 위와 같은 경우 FunctionA, FunctionB, 그리고 FunctionC를 별개의 m파일로 작성할 수도 있지만, FunctionB와 FunctionC가 별도로 호출되는 경우 없이 FunctionA에 종속되어 호출되는 경우에는 여러개의 m파일을 만들기보다 하나의.. 2014. 8. 29.
MATLAB 버전(version)과 릴리즈명(release name) (출처: MathWorks) MATLAB에 관한 자료들을 보다보면 "이 코드는 MATLAB 7.?? 버전에서 테스트 되었음"과 같은 문구들을 자주 접하게 된다. 문제는 기본적으로 MATLAB을 설치할 때 버전명보다는 "R20xx"와 같은 릴리즈명을 알고 있는 경우가 많다는 것이다. 간혹 내가 사용중인 MATLAB이 무슨 버전인지 모르는 경우가 간혹 있어 최근 버전 위주로 정리하였다. 더 자세한 정보는 위키문서에서 확인할 수 있다. Release Name Version Year R14 7 2004 R14SP1 7.0.1 R14SP2 7.0.4 2005 R14SP3 7.1 R2006a 7.2 2006 R2006b 7.3 R2007a 7.4 2007 R2007b 7.5 R2008a 7.6 2008 R2008b.. 2014. 7. 11.
MATLAB 함수 입/출력 인자 개수 다른 경우 [nargin, nargout] MATLAB에서 함수를 만들어 사용하다 보면 입/출력 인자의 개수가 다른 경우에도 동일한 이름의 함수를 사용하고 싶을 때가 있다. 이때 사용할 수 있는 함수가 바로 nargin, nargout 이다. 풀어 적으면 Number of function arguments input 또는 output 이 된다. 즉 입력 또는 출력 인자의 개수란 뜻이다. ■ nargin 먼저, nargin의 경우 함수 내에서 nargin을 하게 되면 현재 함수 호출에 사용된 입력 인자의 개수를 알 수 있다. 즉 myFunction이라는 함수에 아래와 같이 입력을 하게 되면, nargin을 통해 각각 3과 4라는 값을 얻게 된다. myFunction(a, b, c)인 경우, nrargin → 3 myFunction(a, b, c, .. 2014. 2. 27.