예전에 한번 올린 글입니다만, 이번에는 애니메이션을 매트랩으로 만들어보았습니다. 아래는 매트랩 코드이며, 깃헙에도 올려두었습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 1..
깃헙 페이지 매트랩에서 기본으로 제공하는 방법은 symbolic을 활용하는 것이다. >> A = sym('A', [2, 4]) A = [A1_1, A1_2, A1_3, A1_4] [A2_1, A2_2, A2_3, A2_4] 숫자로 구성된 행렬을 만들고 싶다면, 함수를 만들어서 써야 한다. 아래는 함수 코드와 실행 결과이다. cell unpacking이 활용되었다. function arr = idx_mat(varargin) arr_cell = cell(nargin, 1); idx = cell(nargin, 1); for i=1:nargin idx{i} = 1:varargin{i}; end [arr_cell{:}] = ndgrid(idx{:}); arr = zeros(varargin{:}); for i=1:..
매트랩 그래픽 객체의 ButtonDownFcn과 Figure 객체의 SelectionType을 이용하면 재밌는 걸 할 수 있습니다. 본 글의 목표는 아래의 코드를 구현하는 것입니다. - Line 또는 FunctionLine을 클릭하여 linestyle을 바꿈 - 좌클릭은 dashed (--) - 우클릭은 dotted (:) - 중클릭은 dash-dotted(-.) - 더블클릭은 solid line(-) - Figure에 만들어지는 모든 Line과 FunctionLine에 적용 (새로 추가되는 객체에도 적용) 1. ButtonDownFcn 우선 클릭했을 때 어떤 동작이 일어나도록 만들어야 합니다. 이와 같이 어떤 이벤트에 의해서 실행되는 함수를 일반적으로 '콜백(callback) 함수'라고 부릅니다. 매트..
티스토리에 매트랩 코드를 올리는 방법을 조사해봤습니다. 결론부터 얘기하자면, gist와 colorscripter가 제일 깔끔하다고 생각됩니다. 좀 안 이뻐도 간단하게 올리려면 티스토리 자체 코드블럭 기능을 쓰면됩니다. html나 css를 알아야 쓸 수 있는 방법들은 배제했습니다. 왜냐면 제가 할 줄 모르거든요(...). 1. 캡쳐 or 파일 올리기 방법: 그냥 캡쳐해서 붙여넣는다. 또는 파일 첨부한다. 장점: 제일 쉽다. 파일로 받을 수도 있다. 단점: 이럴거면 이 글을 쓸 이유가 없다(...). 2. 티스토리 자체 코드블럭 기능 % 10줄짜리 코드에 최대한 다양한 키워드를 담으려고 고민한 코드 while true name = input('Type your nickname: ', 's'); if ~ise..
확인해보기로 했다. 왜냐하면 그냥 균일한 보라색으로 보였거든. clear close all clc img = imread('수분부족.jpg'); figure, imshow(img) img_single = rgb2gray(imcrop); figure, subplot(1,2,1), imshow(img_single, []) subplot(1,2,2), histogram(img_single(:)) 감기에 해당되는 원 내부를 선택하면 아래와 같은 결과를 얻을 수 있다. 숫자가 명확히 보이고, 히스토그램에도 전경과 배경에 해당되는 두 peak이 보인다. 나머지도 해봤다.
세줄요약 증상: matplotlib.pyplot.bar()로 막대 그래프를 그릴 때 막대가 사라지거나 막대 사이의 틈이 없어지는 현상이 있음 원인: bar()는 막대의 위치를 1픽셀 단위로만 계산하는데, 막대 또는 틈이 너무 얇으면 무시하고 그리지 않음 해결책: bar()의 파라미터 중 width를 조절하고, 필요에 따라 figsize를 바꾸거나 edgecolor를 설정하거나 Figure 창의 크기를 조절 일러두기 본 글의 코드 중 캡쳐한 것은 코랩, 코드 블록은 vscode 또는 매트랩에서 실행한 코드입니다. 코드는 모두 여기에서 보실 수 있습니다. 감사의 글 본 글의 아이디어를 주신 페가님께 감사 말씀 드립니다. 이상한 막대 그래프 matplotlib의 bar()를 이용하여 간단히 막대 그래프를 그려..
매트랩의 레이아웃을 command를 이용하여 저장/설정할 수 있습니다. 이곳을 참고했습니다. 레이아웃 저장하기 우선 레이아웃을 원하는 모양으로 만듭니다. 그리고 아래 코드를 이용하여 MLDesktop 핸들을 가져옵니다. desktop = com.mathworks.mde.desk.MLDesktop.getInstance; MLDesktop의 saveLayout 메서드를 이용하면 레이아웃이 저장됩니다. 메서드의 입력으로 레이아웃 이름을 적습니다. desktop.saveLayout('mylayout') 레이아웃이 만들어졌는지 확인할 수 있습니다. 메뉴의 홈 탭의 레이아웃에 mylayout이 생겼습니다. 참고로 레이아웃은 C:\Users\\AppData\Roaming\MathWorks\MATLAB\에 xml 파일..
매트랩의 불편한 점이 하나 있습니다. 폰트를 한번에 한 종류밖에 쓰지 못합니다. 그래서 한글이 포함되지 않은 폰트를 쓰면 한글이 제대로 표시되지 않습니다. 매트랩 설치 후 기본 폰트는 monospaced입니다. monospaced에는 한글이 포함되어 있습니다. 음. 못생겼습니다. 이걸 제가 사랑하는 Consolas[1]로 바꾸면 아래처럼 돼버립니다. 제대로 된 글자는 다 깨지면서 원래는 없는 글자인 “맽”은 제대로 표시되는게 아이러니하군요. 이 문제는 매트랩의 데스크탑 언어를 한글로 해도 똑같이 발생합니다. 원래는 아래처럼 나와야 할 것이 폰트를 Consolas로 바꾸면 아래처럼 한글이 깨져버리는 어이없는 현상이 발생합니다. 표시 언어와 환경 언어의 불일치라니… 꽤 오래된[2] 문제인[3] 것으로 알고 ..
세줄요약- 매트랩 설치 파일은 https://matlab.mathworks.com/에서- 툴박스 설치 방법1: 툴박스에 포함된 함수 아무거나 실행 후 툴박스 링크 클릭하여 Add-On Explorer에서 설치- 툴박스 설치 방법2: APPS 탭에서 Get More Apps 눌러서 툴박스 검색 후 설치 데스크탑을 새로 샀습니다. 3년 반 동안 열심히 굴러준 노트북이 한 달에 한 번 꼴로 블루스크린을 띄우더군요. 불안한 마음에 모처럼 아낌없이 질러주었습니다. 오랜만에 매트랩을 새로 설치하려니 두근두근…하기는커녕 설치파일부터 어디서 다운받아야 할지 헷갈리더군요. 부끄… 간만에 매트랩 설치한 기록을 적어봅니다. 이왕 새로 설치하는 김에 툴박스 설치도 따로 해봤습니다. 제어 이론 수업 들으면서 매트랩 처음 사..