본문 바로가기

Figure10

MATLAB 그래프 사이 공간 색칠하기 fill, patch, area MATLAB 을 사용하여 알고리즘을 개발하고 분석하면서 MATLAB 의 다양한 그래프 기능을 사용하실 것이라고 생각합니다. 10 년도 전에 MATLAB 을 학부 시절에 접하고, MATLAB 의 그래프 기능들이 정말 유용하다는 생각을 했던 기억이 있습니다. 오늘은 MATLAB 을 사용하여 그래프의 영역을 나타내는 방법에 대해서 조금 소개를 하려 합니다. 예를 들어 아래 두 그래프로 둘러싸인 영역을 표시하고 싶을 때 MATLAB으로 어떻게 표현해야 되는지에 대해서 소개를 하려 합니다. y = x+3 y = 2*x-6 위 두개의 그래프로 둘러싸인 영역을 표시하는 간단한 코드는 아래와 같습니다. 아래 코드에서 설명할 부분은 x_, y_ 를 설정하는 부분과 fill() 이라는 함수에 대한 부분이 될 거 같은데~ .. 2019. 4. 30.
Matlab 그래프 축 반전 방법 MATLAB 을 사용하여 그래프를 그리는 경우 축을 반전해서 보는게 편한 경우가 종종 있습니다. 이런 경우에는 두가지 방법을 사용할 수 있습니다. 아래 예에 대해 축을 반전하고 싶은 경우 x=1:0.1:10; y=sin(x); plot(x,y) grid on 플롯 툴을 사용하여 변경하는 방법 플롯 툴 아이콘을 클릭하여 플롯 툴을 실행 합니다. 다음으로 그래프의 Axis 선택한 이후에 반전하고 싶은 축을 선택하고 반전에 체크를 하고 마지막으로 플롯 툴 숨기기를 클릭 합니다. 위 그림과 비교해보면 X 축의 값이 좌우가 바뀐것을 확인 할 수 있습니다. Y 축 또는 Z 축 값을 반전하고 싶은 경우라면 아래 그림에서 X축 Y축 탭을 선택한 이후에 반전을 체크해 주면 되겠죠~ 코드 상에서 변경하는 방법 코드에서 반.. 2017. 2. 13.
Simulink scope 한번에 다 닫는 명령어 Simulink 를 사용하다 보면 여러 Scope 를 여는 경우가 종 종 있습니다. 이러한 경우 한번에 Scope 를 다 닫는 명령어가 있나 해서 찾아보니 아래 주소에 그 방법이 나와 있더군요. https://kr.mathworks.com/matlabcentral/answers/94334-how-can-i-programmatically-close-simulink-scope-windows-in-simulink-7-1-r2008a 위 주소의 코드를 활용하여 아래와 같이 Simulink Scope 를 다 닫는 함수를 만들어서 사용한다면 편리 할 것 같네요. function scopeCloseAll shh = get(0,'ShowHiddenHandles'); set(0,'ShowHiddenHandles','On.. 2016. 8. 11.
MATLAB Figure 창 그림으로 저장 하기 saveas MATLAB 에서 Figure 창에 대해 그림 파일로 저장 할 때는 Figure 의 File → Save As 에 들어가서~~ 아래 그림과 같이 다양한 포맷으로 그림 파일을 저장 할 수 있습니다. 몇 개 안 되는 Figure 창에 대해 그림 파일로 저장할 때는 아래 그림과 같이 수동으로 하겠지만 다수의 Figure 창에 대해 그림으로 저장할 때는 아무래도 명령어를 사용하는 게 편리 합니다. MATLAB 에서 Figure 창을 그림으로 저장 할 때는 saveas 라는 명령어를 사용합니다. http://www.mathworks.co.kr/kr/help/matlab/ref/saveas.html 위 주소의 설명에 나와 있듯이 saveas 를 이용하면 다음 확장자의 그림 파일로 저장 할 수 있습니다. ai, bm.. 2014. 6. 18.
Scilab 모든 그래프 창 닫기 오늘은 Scilab 에서 figure 창을 닫는 명령어에 대해 소개 하려 합니다. MATLAB 에서는 간단하게 close 를 하면 현재 figure 창이 닫히고 close all 을 하면 현재 열려진 모든 figure 창이 닫힙니다. 하지만 Scilab 에서는 그렇지 않더군요. 어떻게 해야 MATLAB 의 close all 과 같은 기능을 할 수 있을 까 찾아보니~ 아래 주소의 글이 있더군요. http://help.scilab.org/docs/5.3.3/en_US/m2sci_close.html scilab 에서 MATLAB 의 Close all 과 같은 기능은 xdel(winsid()) 라고 명령해야 합니다. 여기서 xdel 은 graphics window 를 닫는 함수이고~ winsid 함수는 grap.. 2014. 6. 13.
SCILAB 로그 스케일 그래프(Logscale Graph) 아래 포스팅에서 MATLAB 을 이용한 logscale 그래프 그리는 방법에 대해 설명 드렸습니다. 2013/01/29 - [programming language/MATLAB] - MATLAB 로그 스케일 그래프 그리기 semilogx(),semilogy(), loglog() MATLAB 에서는 semilogx, semilogy, loglog 와 같은 함수를 사용하여 x, y 축에 대해 로그 스케일 그래프를 그리게 되는데요~ Scilab을 이용하여 2차원 평면에서 로그 스케일 그래프를 그릴때는 plot2d 함수를 사용합니다. plot2d([logflag,][x,],y[,style[,strf[,leg[,rect[,nax]]]]]) 위 plot2d 함수의 원형에서 logflag 을 n 으로 설정하면 norm.. 2014. 6. 10.
MATLAB contour 등고선 그리기 MATLAB contour() 함수를 이용하면 등고선 그래프를 매우 쉽게 그릴 수 있다. 다음과 수식에 따른 값에 대해 등고선을 그려 보자. [X,Y] = meshgrid(-2:2); % X,Y 값 설정 Z = 10*(X/5 - X.^3 - Y.^5).*exp(-X.^2-Y.^2); % Z 값 계산 위 식에 대해 아래 명령으로 등고선을 간단하게 그릴 수 있다. figure, contour(X,Y,Z), colorbar 등고선 사이의 표면에 색을 입히고 싶다면 contourf() 함수를 이용한다. figure, contourf(X,Y,Z), colorbar 다음과 같은 등고선 그래프를 얻을 수 있다. 위 그래프를 보면 간격이 너무 넓어서 등고선이 너무 각진 형태로 나오는 것을 확인 할 수 있다. 이럴 때는.. 2011. 3. 27.
MATLAB subplot() 오늘은 MATLAB subplot()에 대해 알아본다. subplot()은 하나의 figure 창에 여러 그래프를 표시 할 때 이용한다. 다음 예를 통해 subplot() 에 대해 설명한다. x=1:5; y=1:5; y2=(1:5)*2; figure, subplot(3, 2, 1), plot(x,y) subplot(3, 2, 4), plot(x,y2,'r:.') subplot(3, 2, 1) 에서 첫 번째 3은 그래프의 행의 개수를 의미하고, 두 번째 2는 그래프의 열의 개수를 의미한다. 세 번째 숫자 1은 위 그림에서 빨간색 글자로 표시한 1 부분에 그림을 넣겠다는 의미이다. subplot(3, 2, 4)는 에서 세 번째 숫자 4는 위 그림의 4번 부분에 그래프를 넣겠다는 의미이다. 그럼 위 그림을 다.. 2011. 3. 16.
MATLAB [디지털 통신] EYE PATTERN 오늘은 EYE PATTERN 에 대해 알아 보려 합니다. 학부 때 EYE PATTERN 이란 걸 보고 이게 뭘까 ~ 정말 도무지 감이 안 왔던 기억이 있습니다. EYE PATTERN 이란 특정 시간 구간 동안 들어오는 신호의 파형을 계속 겹쳐서 나타낸 것뿐입니다. 보통 EYE PATTERN을 그릴 때는 2 심볼 구간 동안 표시를 하곤 하죠. 오늘 EYE PATTERN을 하기 전에 BPSK 에 모르시는 분들은 아래 글을 읽고 오시기 바랍니다. 2011/03/08 - [잡담,잡다] - [디지털 통신] BPSK, QPSK 그리고 Raised cosine filter 에 대해서는 아래 글을 참조해 주세요. 2011/03/02 - [MATLAB] - [디지털 통신] Raised Cosine Filter 그럼 이제.. 2011. 3. 9.
MATLAB figure 창 위치를 바꿔보자 MATLAB 에서 그래프를 그려 보자. x=1:10 x = 1 2 3 4 5 6 7 8 9 10 y=1:10 y = 1 2 3 4 5 6 7 8 9 10 figure, plot(x, y, 'r*--'), grid on 위 명령어를 치면 아래와 같이 윈도우 창의 중간 좀 위 부분에 그림이 뜬다. 저런 그림을 여러 개 그릴 경우에는 그림이 겹쳐서 한번에 보기에는 좀 곤란한 경우가 많다. 이런 경우에 그림의 위치를 설정해 줄수 있다면 굉장히 편리하다. matlab 에서 화면의 크기를 알려면 다음과 같이 명령어를 입력하면 된다. get(0, 'screensize') ans = 1 1 1680 1050 내 모니터는 현재 1680 바이 1050 픽셀의 크기를 가지고 있다고 나온다. 그럼 이제 화면상의 좌 하단과 우.. 2011. 3. 6.