본문 바로가기

matlab215

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.
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.
MATLAB figure ButtonDownFcn 오늘은 MATLAB figure 창을 클릭 했을 때 특정 동작을 하도록 하는 Button down callback function 에 대해 설명 드립니다. 아래 예제 코드를 보면서 설명 드리겠습니다. buttondownfnc_test.m file x=1:10; y=x*2; h=figure; % 그림 창의 handle , h h_plot=plot(x,y,'r:.'); % 그래프의 handle , h_plot grid on ; % 그림 창의 button down function 을 {@grid_ONOFF2, h_plot} 로 설정 set(h,'ButtonDownFcn',{@grid_ONOFF2, h_plot}) 위 예제 코드는 단순하게 y=2x 의 직선을 그리고 그림 창을 누르면 선이 없어지거나 다시 생기게.. 2012. 2. 22.
Simulink Algebraic Loop Simulink 를 사용하면서 종종 Algebraic Loop Error를 만나게 되는데요. 오늘은 이 Algebraic Loop에 대해 알아보려고 합니다. Algebraic Loop 에 대해 이해하기 위해서는 Simulink 의 Direct feedthrough 에 대한 이해가 선행 되어야 합니다. Direct feedthrough 란 어떤 블록의 출력이 결정되는데 현재의 입력이 영향을 미치는 것을 의미합니다. 예를 들면 Add, Gain 과 같은 블록은 현재의 입력이 있어야 출력을 알 수가 있을 테니깐 이런 블록들이 바로 direct feedthrough 한 블록들인 것입니다. Algebraic Loop 란 이런 direct feedthrough 한 블록의 출력이 입력에 연결 되었을 때 발생을 합니다.. 2012. 2. 13.
SCILAB 간단 사용법 상용인 MATLAB 을 대체할 만한open source 나 freeware 를 찾던 중 가장 맘에 드는 프로그램이 scilab 이라고 판단된다. scilab 은 MATLAB 과 마찬가지로 매트릭스 연산을 기본으로 하며 문법도 굉장히 유사하다. scilab 의 실행은 두 가지 방법으로 할 수 있다. (윈도우에서 실행 시) WScilex.exe 를 통해 실행 할 경우에는 일반적인 graphics, interactive 콘솔이 열리게 된다. (아래 그림 참조) Scilex.exe 를 통해 실행 시키면 non-graphics 콘솔을 통해 실행하게 되며 윈도우 터미널에서 바로 열리게 된다. (아래 그림 참조) MATLAB 과 마찬가지로 배치파일을 통해 스크립트를 실행 할 수도 있으며 –f 옵션을 줘서 다음 그림 .. 2012. 1. 12.
MATLAB dos 명령 사용하기 MATLAB 에서 여러 개의 텍스트 파일이나 data 파일 등을 열 때 dir 명령어를 이용하여 파일 목록을 가져올 수 있습니다. 파일 목록을 가져 온 후에 for 문 등을 이용하여 일괄적으로 파일을 열어서 데이터를 가져 오는 것이 가능 합니다. 하지만 MATLAB 의 dir 명령은 recursive 하게 동작하는 옵션은 없습니다. 이러한 경우에는 MATLAB 에서 운영체제의 명령어를 이용하여 처리하는 것이 좋습니다. 윈도우 운영체제에서 도스 명령어를 이용할 경우에는 dos command 와 같은 형태로 이용합니다. 또는 [status, result] = dos('command') 와 같이 이용하여 dos 명령 실행 결과를 MATLAB 으로 가져 올 수도 있습니다. 이제 현재 폴더에서 모든 txt 파일을.. 2011. 12. 21.
MATLAB convolution 요즘 부쩍 MATLAB for 문을 이용한 convolution 에 대한 질문이 많이 들어오는군요. 그래서 오늘은 MATLAB for loop 를 이용한 convolution 에 대해 설명 드리려 합니다. 다들 아시는 바와 같이 MATLAB 에는 기본적으로 convolution 을 수행하는 함수인 conv() 라는 함수가 존재 합니다. c=conv(a, b) 와 같은 형태로 쓰이곤 합니다. 당연히 a 와 b 의 convolution결과를 c 에 리턴 하는 함수이죠 convolution 이라는 것이 결국에는 FIR filter 와 같다고 보셔도 무방 합니다. 다만 그 return 되는 값의 길이에 있어서 차이가 있죠. 이는 filter 의 shift register 를 다시 0으로 채워주는 과정이 추가가 .. 2011. 11. 20.
Window command 에서 MATLAB 실행 방법 오늘은 window command 라인 상에서의 MATLAB 실행 방법에 대해 소개하려 합니다. 보통의 MATLAB 의 실행은 아이콘을 더블 클릭해서 실행하곤 하는데 ~ 이 경우에는 MATLAB desktop 이 실행되다 보니 로딩이 좀 늦고 무거운 감이 있습니다. 물론 컴퓨터 성능에 따라 정도의 차이는 있지만요~ 간단하게 계산기 용도로 쓸 때나 미리 작성한 script 등을 실행시키고 이의 결과를 얻으려고 할 때 등은 굳이 무거운 MATLAB desktop 을 실행 시킬 필요는 없습니다. 마치 window batch 파일을 실행 시키는 것처럼 MATLAB을 실행시키는 방법에 대해 알아보죠~ 아래의 링크 페이지를 참조 하면 window command 라인에서의 MATLAB 실행 명령어 들에 대해 알 수 .. 2011. 11. 20.
MATLAB, end 를 이용한 데이터 추가 MATLAB 의 end 키워드는 보통 벡터 또는 매트릭스 등의 마지막 인덱스를 의미하는데 이용 되곤 합니다. 다음 예는 일반적인 사용에 대한 예입니다. end 키워드를 이용하여 x 의 마지막 인덱스를 참조 하곤 하죠. 이렇게 참조 하는 것 이외에도 end 를 이용하여 벡터 또는 매트릭스에 데이터를 추가 할 수도 있습니다. 위의 x 라는 벡터의 끝에 11~20을 추가 해 보겠습니다. 일반적으로 다음과 같이 벡터를 붙여서 추가를 하곤 합니다. 또 다른 방식으로는 end 를 이용하여 다음과 같이도 추가 할 수 있습니다. x 라는 벡터의 끝에서부터 +1 번째 인덱스부터 +10 번째 인덱스에 11~20을 넣으라는 뜻으로 해석할 수 있습니다. 2011. 11. 18.