본문 바로가기

programming language/MATLAB215

MATLAB에서 sqlite 사용하기 요즘 오라클, MY-SQL 과 같은 데이터베이스 프로그램들 많이들 사용하실텐데요~ 이와 같은 데이터베이스 프로그램들은 네티워크 기반의 프로그램들인데 반해 SQLite 는 파일 기반의 데이터 베이스 프로그램 입니다. 요즘 안드로이드 폰 많이들 사용하실텐데~ 안드로이드에도 기본으로 SQLite 가 탑재 되어 있습니다. SQLite 에 대한 간단한 설명은 아래 주소를 참조하시기 바랍니다. http://ko.wikipedia.org/wiki/SQLite SQLite 는 다른 데이터베이스 프로그램들과 마찬가지로 다양한 컴퓨터 언어에서 사용할 수 있는 API 들을 제공하는데요. 오늘은 MATLAB 에서 SQLite 를 사용하는 방법에 대해 설명드리려 합니다. 프로젝트 명은 mksqlite 구요~ 프로젝트 주소는 아.. 2013. 6. 16.
MATLAB Gibbs Phenomenon 간만에 MATLAB 관련 포스팅이네요. 하드를 뒤지다 보니~ 예전에 했던 Gibbs Phenomenon 에 대한 MATLAB 시뮬레이션 했던 것이 있어서 소개하려 합니다. 뭐 간단한 거지만 처음 아래의 시뮬레이션 했을때 굉장히 신기해 했던 기억이 납니다. Gibbs Phenomenon 에 대한 것 보다는 어떻게 사각파가 사인파들의 합으로 구성이 될까~~ 하면서 신기해 했었죠 ㅋㅋㅋㅋ 아무튼~ Gibbs Phenomenon 은 불연속을 포함하는 파형이 푸리에 합성되었을 때 불연속 값 근처에서 나타나는 불일치 현상을 의미하는데~ MATLAB 코드는 다음과 같습니다. n =999; t = (-1.1:0.01:1.1).'; %% for k = 0 : n F(:, k+1) = 1 / (2 * k + 1) .* s.. 2013. 4. 10.
MATLAB 로그 스케일 그래프 그리기 semilogx(),semilogy(), loglog() 아래 포스팅에서 MATLAB 을 이용하여 BPSK, QPSK BER(Bits Error Rate)에 대한 시뮬레이션을 수행한적이 있는데요. 2011/03/27 - [MATLAB] - MATLAB QPSK BER simulation in AWGN channel 2011/03/19 - [MATLAB] - MATLAB BPSK BER simulation in AWGN channel 전자 공학을 공부하다보면 로그 스케일에 대해 다뤄야 할때가 있고 많은 그래프들을 로그 스케일로 그리게 되죠~ 오늘은 MATLAB 에서 로그 스케일 그래프를 그리는 방법에 대해 간단히 설명 드리겠습니다. MATLAB 에서 로그 스케일 그림을 그릴수 있게 해주는 함수로는 위 제목에서 밝힌데로 semilogx(),semilogy(), l.. 2013. 1. 29.
MATLAB recursive 파일 검색 아래 포스팅에서 MATLAB 에서 recursive 하게 하위 디렉토리까지 파일 검색 하는 방법에 대해 설명한 적이 있는데요~ 2011/12/21 - [MATLAB] - MATLAB dos 명령 사용하기 위 주소에서 사용한 방법은 dos command 의 dir 을 사용해서 처리를 했었습니다. 검색을 하다 보니 rdir 이라는 괜찮은 함수가 있어서 소개합니다. 아래 주소에서 rdir 함수를 다운로드 할 수 있습니다. http://www.mathworks.co.kr/matlabcentral/fileexchange/19550-recursive-directory-listing 위 주소에서 아래 그림처럼 download 버튼을 누르면 rdir() 함수를 다운로드 할 수 있습니다. 다음으로~ rdir 함수를 MA.. 2012. 12. 8.
MATLAB 에서 mp3 파일 읽기 MATLAB 에서는 다양한 파일형태에 대해 읽고 쓸 수 있는 함수들을 기본적으로 제공하고 있습니다. 그런데 요즘 사람들이 가장 많이 사용하는 음악 파일 형태인 mp3 파일은 읽어 올 수 있는 함수가 없더군요. 그래서 검색을 해보니 역시… 내가 필요한 것은 어딘가에는 다 있더군요. 아래 주소에서 Alfredo Fernandez 라는 분이 만든 MP3WRITE(), MP3READ() 함수가 들어 있는 library 를 다운로드 받을 수 있었습니다. http://www.mathworks.com/matlabcentral/fileexchange/6152-MP3WRITE%20and%20MP3READ 아래 그림 같은 화면에서 다운로드를 눌러서 mp3_toolbox_v2.0.zip파일을 다운로드 받습니다. 그럼 이제 .. 2012. 10. 31.
MATLAB 메모리와 속도 C/C++ 과 같은 언어를 사용하다가 MATLAB 을 사용해보면 코딩이 굉장히 쉽다는 생각을 많이 하게 됩니다. 이는 여러 가지 이유가 있겠지만, 일단 변수의 타입을 지정해 줄 필요가 없다는 장점이 있습니다. 요즘 많은 사람들이 사용하는 스크립트 언어들은 변수 타입을 일일이 지정해 주지 않아도 되는 경우가 많은데, MATLAB 도 마찬가지 특징이 있는 거죠. 이러한 변수들이란 결국 memory 관리와 관계가 될 텐데, 코딩하는 사람이 일일이 memory 에 대해 생각 안하고 코딩 할 수 있다는 건, MATLAB 내부적으로 알아서 memory 관리를 한다는 뜻이겠죠. 하지만 MATLAB 코딩 시 잘 생각 안 해 봤던 memory 에 대한 부분도 조금만 생각을 하면서 코딩을 한다면 MATLAB 코드의 성능을.. 2012. 10. 21.
MATLAB run configuration 을 통한 실행 MATLAB 스크립트의 실행은 스크립트 에디터에서 F5 를 누르거나 command 창에서 해당 되는 스크립트 파일명을 치고 엔터를 쳐서 실행하곤 합니다. 함수 스크립트의 경우에도 마찬가지로 일반적인 실행 스크립트와 같이 실행 시킬 수 있지만~ 입력 argument 가 있는 경우에는 그 상황이 좀 달라집니다. 예를 들어보죠. function y=TempFunc() x=1:10; y=x.^2+2.*x+3; figure, plot(x,y), grid on 위와 같은 TempFunc () 함수는 에디터에서 바로 F5 를 누르거나 초록색 삼각형의 실행 버튼을 눌러도 실행이 됩니다. 하지만 다음과 같이 x 를 입력 argument 로 준 경우에는 에디터에서 F5 를 눌러서는 제대로 실행이 되지 않죠. functio.. 2012. 8. 15.
MATLAB Conditional Breakpoints 오늘은 MATLAB 의 디버그 기능 중 Conditional Breakpoints 에 대해 소개하려 합니다. 짧은 코드를 작성 할 때는 디버그 할 일이 거의 없지만 코드가 조금만 복잡해져도 디버그는 꼭 필요하더군요. MATLAB 에서 디버그를 하기 위해서는 C/C++ 에서와 마찬가지로 알아보고자 하는 줄에 break point를 설정하고 실행 시키는데요. 다음 그림처럼 원하는 줄의 – 부분을 클릭하면 빨간색 동그라미가 생깁니다. 그리고 이 상태에서 F5 를 누르면 break point 를 설정한 줄에서 멈추고 command 창은 아래 그림처럼 k>> 으로 프롬프트가 바뀌게 되죠. 각 변수의 값들을 알고 싶을 때는 변수 명을 command 창에 쳐도 되고~ Editor 에서 알고자 하는 변수를 블록으로 설.. 2012. 8. 6.
MATLAB 단축키 설정 백업 아래 포스팅에서 MATLAB 단축키 설정 방법에 대해 설명을 드렸었는데요. 2011/04/01 - [MATLAB] - MATLAB shortcut, 단축키 설정 이런 단축키 설정들을 MATLAB 을 깔 때마다 다시 설정해 줘야 한다면 굉장히 귀찮은 일일 것입니다. 따라서 이런 설정 파일들은 파일로 저장해서 백업을 해 두고 다시 깔 때마다 로드 해서 사용하는 것이 바람직하다고 생각합니다. MATLAB 데스크톱의 File à Preferences 메뉴에 들어가거나 MATLAB command 창에서 preferences 를 입력한 후 엔터를 치면~ 다음과 같이 preference 창이 나타납니다. 아래 그림과 같이 설정에 들어가서 Save as를 클릭하고 자신이 원하는 위치에 파일을 저장하시면 됩니다. 보통 .. 2012. 8. 5.
MATLAB Fixed point toolbox, demo버그? MATLAB 이 좋은 건 문법의 간편함이나 방대한 라이브러리뿐만이 아니라 굉장히 잘 정리되어 있는 매뉴얼에 있다고 생각합니다. 각종 example 뿐만 아니라 demo를 보면 각 함수의 사용법에 대해 쉽게 이해 할 수가 있습니다. 그런데 Fixed point toolbox 관련 데모를 보다가 약간 이해 안 되는 코드가 있더군요. 아래 주소에 Fixed-Point Data Type Override, Min/Max Logging, and Scaling 라는 제목의 데모가 소개 됩니다. http://www.mathworks.co.kr/products/demos/fixedpt/datatype_override/fi_datatype_override_demo.html 위 데모에서는 다음과 같은 함수가 있는데요. fu.. 2012. 8. 4.
MATLAB persistent 주의 할 점 아래 포스팅에서 C/C++ 에서의 static 키워드와 유사한 기능을 하는 persistent 에 대해 설명 드렸었는데요. 2011/03/27 - [MATLAB] - MATLAB persistent 오늘은 persistent 사용시의 유의 사항에 대해 설명 드리려 합니다. persistent 를 사용하는 반복적인 simulation 을 할 때 command 창에서 단순히 clear 를 하면 persistent 로 설정된 keyword 의 경우에는 clear 되지 않습니다. clear 는 workspace 의 변수만 memory 상에서 해제를 하므로 function 안에서 persistent 로 설정된 변수의 경우에는 해제가 되지 않는 것 입니다. 위 링크의 이전 포스팅에서 사용한 함수 persistent.. 2012. 7. 3.
MATLAB 파일이름 다룰때 유용한 함수들 fileparts, fullfile, filesep 오늘은 MATLAB 을 이용하여 파일 또는 디렉토리 이름을 다룰 때 유용한 몇 가지 함수들에 대해 설명 드리겠습니다. 파일 이름을 다루다 보면 파일 이름부분과 확장자 부분으로 구분하고 싶을 때가 있습니다. 이런 경우에는 fileparts() 라는 함수를 사용 할 수 있습니다. 다음과 같은 형태로 구성되는데요~ [pathstr, name, ext] = fileparts(filename) 보시는 바와 같이 path, 파일 이름, 확장자로 구분해 줍니다. 사용 예는 다음과 같습니다. 위에서는 파일이름을 분리 했으니깐 파일이름을 합치는 방법에 대해 알아보죠. 이름을 합치는 경우에는 fullfile () 이라는 함수를 제공해 줘서 path, 파일 이름, 확장자를 편리하게 합칠 수 있습니다. 위에서 나누었던 파일 .. 2012. 7. 1.
MATLAB 그래프 자동 업데이트 linkdata MATLAB 을 이용하면 굉장히 다양한 수치적인 그래프를 그려 볼 수 있습니다. 여러 수치적인 실험을 하면서 그래프를 확인 할 때 데이터가 변화하면 그래프도 자동으로 바뀌었으면 하는 경우가 있는데요. 이런 경우에는 linkdata 를 이용하시면 됩니다. 간단한 예제로 설명 드리죠. x=1:10; y=x*2; plot(x,y,'r:.') grid on 위 코드는 단순히 y=2x 의 직선 그래프를 그리는 예제 인데요. 위 코드를 실행하시면 다음과 같은 그래프가 나옵니다. 위 그래프에서 빨간색 네모 칸 친 부분의 아이콘을 누르면 현재 그래프의 데이터 값이 변할 때마다 자동으로 그래프가 업데이트 됩니다. 그래프에서 아이콘을 클릭해서 설정하는 것이 아니라 코드를 통해 linkdata 기능을 실행 시키고 싶으면 다.. 2012. 6. 30.
MATLAB assert() 함수 MATLAB 을 이용하여 함수를 만들 때 argument 의 제약 조건 등을 주고 싶을 때는 assert() 함수를 사용 할 수 있습니다. 예를 들어 아래 함수처럼 간단하게 배열의 인자에 접근해서 값을 가져 오는 경우를 생각해 보죠. MATLAB 의 배열 인덱스는 1 부터 시작을 하니깐 아래 함수의 args 값은 1 이상의 값이 들어와야 합니다. 또한 아래 함수의 x 라는 벡터가 10 초과의 인덱스는 없으니깐 10 이하의 args 값이 들어와야 하는거죠. function output= fooTest(args) x=1:10; output=x(args); end 이러한 경우 assert() 함수를 이용하여 다음과 같이 작성 합니다. function output= fooTest(args) assert((arg.. 2012. 6. 28.
MATLAB 이미지 gray scale 변환 MATLAB 은 다양한 신호처리 분야에서 사용되는데~~ 이미지나 음성과 같은 분야에서도 굉장히 다양하게 쓰입니다. 그 쓰임 중에서 오늘은 이미지를 gray scale 로 변환하는 방법에 대해 알아보려고 합니다. 일단 gray 스케일로 만들기 위해서는 회색조 변환이 어떻게 구성되는지를 알아야 하는데요~ 이를 위해서 이미지를 표현하는 방법 중 하나인 RGB 형식에 대해 먼저 설명 드리죠. RGB 는 Red, Green, Blue 로 색을 표현하는 건데요. 각 색에 대해 unsigned int 형으로 표현합니다. 구성에 따라 다르겠지만 보통은 8 비트를 써서 28=256 개의 레벨로 표현을 하곤 합니다. unsigned int 8 비트면 0~255 까지가 되겠네요. RGB 값이 다 0 일때 즉, [0 0 0].. 2012. 6. 27.
MATLAB 축에 날짜 표시하기 datetick() MATLAB 에서 다양한 그래프를 이용해 왔지만 제가 하는 분양의 특성상 축을 날짜로 표시할 일은 없었습니다. 그런데 주식이나 재무와 같은 분야에서 MATLAB 을 어떻게 이용하나 봤더니 x 축을 날짜로 표시하는게 일반 적이더군요. MATLAB 에서 특정 축을 date format 으로 나타내 주기 위해서는 datetick () 을 사용하면 됩니다. 아래 예제는 제가 사용하는 HTS 에서 특정 회사의 주가 차트를 로드해서 종가 차트를 그려 본 겁니다. 주가 파일은 다음과 같이 생겼습니다. 첫째 열이 날짜고 5번째 열이 종가 입니다. %% 주가 차트 읽기 [num,txt,raw] = xlsread('TestStock.xlsx'); % 주가 파일 읽기 date_v=num(:,1); % date date_nv.. 2012. 6. 20.
MATLAB 윈도우에서의 파일 쓰기 줄 바꿈 MATLAB 을 이용하여 파일 쓰기를 할 때는 fprintf () 함수를 사용합니다. 그리고 파일 열기는 fopen(), 파일 닫기는 fclose()를 사용하죠. 줄 바꿈 문자는 아시다시피 '\n' 을 사용하고 command 창에서는 \n 을 이용했을 때 정상적으로 줄 바꿈이 되죠. 그런데 text 의 형태로 파일로 저장할 때, \n 을 사용하면 정상적으로 줄 바꿈이 안 되는 것처럼 보이는 경우가 있습니다. 이는 윈도우의 줄바꿈과 다른 운영체제의 줄 바꿈 문자가 다르기 때문인데요. 윈도우에서는 \r\n 을 사용해야 notepad 등과 같은 프로그램으로 텍스트 파일을 열었을 때 정상적으로 줄 바꿈 됩니다. 간단히 실험을 해 보죠. 다음은 \n 을 사용했을 경우의 예입니다. fp=fopen('test_.tx.. 2012. 6. 17.
MATLAB log 저장하기 diary MATLAB 사용시 command 창에 입력하는 키 입력은 command history 에 저장 돼서 이후에 명령어 재 사용 시 편리하게 이용 할 수 있습니다. 그런데 이에 따른 결과는 command history 에 저장이 안 되는데요. MATLAB 사용에 따른 기록을 저장하고 싶다면 diary 라는 명령을 이용하면 됩니다. diary 명령은 MATLAB 사용에 따른 log 를 저장해 줍니다. command 창에 입력하는 명령어와 그에 따른 결과 등을 아스키 파일로 저장해 줘서 그날 그날의 로그를 확인 할 수 있게 해 줍니다. 아스키 파일로 저장하는 만큼 그래프와 같은 결과는 저장하지 않습니다. 토글 형태의 명령어라서 처음에 diary 라고 명령어를 입력하는 순간부터 저장이 시작되고 두 번째 diary.. 2012. 6. 16.
MATLAB Harmonographs 구글링을 하다가 아래 포스팅을 발견 했습니다. http://www.walkingrandomly.com/?p=151 위 블로그의 주인장은 영국의 맨체스터 대학에서 science and engineering applications support specialist 로 근무하고 있다고 하는데~ 대충봐도 배울 것들이 참~ 많더군요. 위 주소는 Harmonographs 에 대한 내용을 담고 있는데~ Harmonographs 라는게 참 잼나는 내용이더군요. 추 두 개를 이용하여 한쪽 추에는 연필을 달고 한쪽 추에는 종이판을 연결합니다. 이때 연필과 종이판은 맞닿아 있죠 ~~ 그 담에 추를 움직이게 하면 추의 움직임에 따라 그림이 그려 지겠죠~ 이런걸 Harmonographs 라고 한다는 군요. 아닌가? ㅋㅋ 어쨌든.. 2012. 6. 11.
MATLAB MAP data structure MATLAB 은 보통 수치 분석의 용도로 많이 사용 됩니다. 비싼 툴이니 만큼 어려운 수학들을 굉장히 쉽게 처리 할 수 있어서 너무나 좋은 툴이라고 생각을 했죠~ 반면에 MATLAB 을 사용하면서 아쉬웠던 부분도 있었는데~ hash 또는 dictionary 형태의 데이터 타입에 대한 지원이었습니다. 그런데.. 비싼놈은 뭔가 다르더군요. 있었는데 제가 몰랐던 것이었습니다. ㅡㅡ; 2008b 버전부터 Map Data Structure 를 제공해 주고 있더군요. 아~~ 왜 이걸 지금 알았지.. ㅡㅡ; hash 나 dictionary 형태의 데이터 구조는 요즘과 같이 검색이 일반화된 시대에 더욱더 광범위하게 사용되는 데이터 타입이라고 생각이 되는데요~ 바로 key 와 value 의 형태로 자료를 저장해서 key.. 2012. 6. 10.
MATLAB Fast DCT(Discrete cosine transform) algorithm 요즘 영상이나 음성과 같음 미디어 컨텐츠들이 많이 사용되고 있습니다. 이런 미디어 파일들은 데이터 량이 굉장히 크기 때문에 손실 압축 방식으로 그 데이터를 줄이는 압축 기술들이 많이 사용되는데~ 이런 기술에 많이 이용되는 것이 바로 DCT(Discrete cosine transform) 라고 합니다. mp3, jpg 같은 파일 형식들이 다~~ DCT 를 사용한다고 하니깐 정말 우리 생활과 너무나 밀접한 기술이라 할 수 있을 것 같네요. DCT 위키 피디아 : http://en.wikipedia.org/wiki/Discrete_cosine_transform 위 주소의 내용을 보면 DFT 는 periodic 신호의 비연속 특성 때문에 고주파가 많이 올라오는 반면에 DCT 는 연속적이어서 고주파 성분이 적고 .. 2012. 5. 29.
Simulink From/To workspace 블록 사용하기 Simulink 에서 소스데이터를 발생시키는 방법은 다양하게 있겠지만, 덤프 받은 데이터 등을 사용할 때 From/To workspace 블록을 주로 사용합니다. From workspace 블록은 말 그대로 workspace 상의 변수를 simulink 상으로 불러 오는 것을 말하고 ~ To workspace블록은 반대로 Simulink 상에서 MATLAB workspace 로 값을 내보내는 것을 말하죠~ 아래 예는 간단하게 Fixed step solver 에서 간단하게 Sin, cosine 값을 읽어 들여서 두 배 해서 a 라는 변수로 내보내는 예인데요. From Workspace 창을 열어서 읽어보면 아시겠지만, 1차원 데이터에 대해서는 matrix 형태로 읽어 들여도 되지만, Multi-diment.. 2012. 5. 28.
MATLAB Fractal, Mandelbrot (만델브로) 집합의 아름다움..... 지금은 고인이 되시 만델브로 할아버님의 집합 수식을 MATLAB 으로 돌려 보니~~~ 아래 영상과 같은 아름다운 그림이 나오더군요. 아래 네이버 케스트를 읽어보시면 조금이나마 Mandelbrot 집합에 대해 이해 하실수 있을것 같습니다. http://navercast.naver.com/contents.nhn?contents_id=3955 http://navercast.naver.com/contents.nhn?contents_id=822 http://navercast.naver.com/contents.nhn?contents_id=1273 수학이 주는 아름다움이 이런건가 하는 생각이 들기도 하고~~ 자연이 이런 모습일까 하는 생각도 들고 ~~ 암틈 살짝 ~ 도취되어 있습니다. 프랙탈이라는거 잘 모르지만..... 2012. 5. 25.
MATLAB Coil Spring MATLAB 을 이용하면 다양한 형상 들에 대해 그래프로 쉽게 확인 해 볼 수가 있습니다. 그것도 몇 줄 안 되는 짧은 코드로~~ 아주 쉽게 말이죠. 눈으로 한번 보는 것이랑 상상만으로~ 개념적으로만 아는 것은 이해의 속도 및 깊이에 있어서 정말 천지 차이인지라~~ 저는 상상이 잘 안 될 때는 웬만하면 MATLAB 으로 간단하게 표현해 보곤 합니다. 오늘은 spring 이 움직이는 것 같은 그래프를 한번 그려 보려 합니다. 별거는 아니지만~ 움직이는 모양을 보면 나름 흥미롭답니다. 코드는 다음과 같습니다. theta=linspace(0,10*pi,1000); z=[10:50 49:-1:10]; for i=1:length(z) v=linspace(0,z(i),1000); figure(1), plot3(si.. 2012. 5. 11.
MATLAB Euler's formula 오늘은 Euler's formula 에 대해 MATLAB 으로 표현해 보고자 합니다. 흔히들 알다시피 Euler's formula 는 아래 식과 같습니다. 위 수식은 2차원 그림으로 표현하면 아래와 같죠~ 그림 출처: http://en.wikipedia.org/wiki/Euler's_formula 이런 Euler's formula 에 대해 3차원 적으로 표현해 보면 참 재미있는 모양이 되더군요. 코드는 다음과 같습니다. theta=linspace(0,3.5*pi,1000); exp_value=exp(1i*theta); cos_v=real(exp_value); sin_v=imag(exp_value); plot31=plot3(cos_v,theta, zeros(size(cos_v)),zeros(size(sin.. 2012. 5. 1.
MATLAB 뫼비우스의 띠 네이버의 메인 화면은 윗 부분에는 대부분 신문 또는 잡지사의 기사인 경우가 대 부분이라 메인 화면만 봐서는 지적 호기심을 일으킬 만한 것들이 별로 없다. 그런데 메인 창의 좀 아래를 내려 보니 네이버 캐스트라는게 있어서 보다 보니 다방면에 대한 지식을 정리해 놓은 것을 확인 할 수 있었다. 수학이나 과학과 관련한 카테고리의 글들을 주로 보는데 ~ 뫼비우스의 띠에 대한 설명이 있어서 찬찬히 읽어보니 예전에 대수롭지 않게 생각하고 넘어갔던 이 띠에 대해 훨씬 더 깊게 이해 할 수 있었고~ 재활용을 상징하는 마크가 뫼비우스 띠 모양인것도 새삼스럽게 알 수 있었다. 뫼비우스 띠에 대한 설명은 다음 주소를 참조하기 바란다. http://navercast.naver.com/contents.nhn?contents_i.. 2012. 3. 23.
MATLAB FFT 처리 속도 오늘은 MATLAB FFT () 함수의 처리 속도에 대해 알아보려 합니다. 오늘 포스팅은 아래 책을 참조 한 부분이 있음을 밝힙니다. 책 : MATLAB 을 이용한 디지털 신호처리 MATLAB 의 FFT() 는 아시는 바와 같이 Fast Fourier Transform 을 수행하는 함수입니다. FFT 알고리즘은 그 크기가 2의 거듭제곱 일 때로 한정해서 이용하게 되는데 MATLAB 의 FFT ()함수를 사용해 보면 FFT size 에 관계없이 사용 할 수 있습니다. 이는 FFT() 함수 내부적으로 2의 거듭제곱인 경우에는 FFT 알고리즘을 이용하고, 그렇지 않을 때는 소인수들로 나누어져서 혼합 진수 FFT 알고리즘을 이용하게 된다고 합니다. 그리고 FFT size 가 소수라면 어쩔 수 없이 내부적으로 D.. 2012. 3. 19.
MATLAB varargin, varargout 다른 언어의 함수들과 마찬가지로 MATLAB 함수 역시도 가변 개수의 인자를 받고 가변 개수의 출력이 나오게 할 수 있습니다. 함수의 가변 개수 입력 변수는 varargin 이라는 키워드를 이용하며, 가변 개수의 출력 변수로 varargout 이라는 키워드를 이용합니다. Varargin, varargout 은 cell 타입의 변수로서 cell 타입에 대해 궁금하신 분들은 아래 링크의 글을 참조 하시기 바랍니다. 2011/04/11 - [MATLAB] - MATLAB cell class 코드를 통해 예를 들어 설명 드리겠습니다. 아래 코드는 정말 간단하게 가변 개수의 입력을 받아서 그 수에 100을 곱해서 출력으로 내보내는 함수 입니다. 입출력 인자로 함수 선언부분에 varargin, varargout 키.. 2012. 3. 12.
MATLAB GUI 창 크기 조절 지난 포스팅에 MATLAB GUI에 대해 아주 간단하게 설명 드린 적이 있는데요. 2012/02/24 - [MATLAB] - MATLAB GUI MATLAB GUI를 처음에 만들면 창 크기가 고정 되어 있습니다. 위에 링크한 지난 포스팅의 예를 이용하여 창 크기를 조절 하는 방법에 대해 설명 드리겠습니다. GUIDE 창의 Tools à GUI Options 에 들어가셔서 아래 그림처럼 Resize behavior 를 Proportional로 변경 후 OK 를 눌러 주시면 됩니다. 이렇게 설정 후 실행되는 창에서는 크기 조절을 마음대로 하실 수 있습니다. 2012. 3. 3.
MATLAB GUI MATLAB GUIDE 에 대해 버튼을 클릭하면 그래프를 그리는 예제를 통해 설명하겠습니다. GUIDE 의 이용하기 위해서는 MATLAB command 창에 guide 라는 명령을 치거나 MATLAB 에서 아이콘을 클릭하면 됩니다. 다음과 같은 화면에서 빈 GUI 창을 만들기 위해서 OK 를 클릭합니다. GUIDE 의 기본 창은 아래그림과 같이 component palette 와 몇 가지 아이콘으로 구성됩니다. component palette 에 있는 각 구성들을 가져다가 GUI 창에 끌어다 붙이는 형태로 GUI 를 구성할 수 있습니다. component palette 를 가 아이콘 만으로 되어 있는데 FILE >> Preferences 에 들어가서 아래 그림처럼 설정 합니다. 그럼 아이콘과 compon.. 2012. 2. 24.