매트랩 그래픽 객체의 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..
$e^x$는 특별한 성질이 있습니다. 미분을 해도 자기 자신이 그대로 나옵니다. 일반적으로 지수함수의 미분은 아래와 같습니다. $$\frac{d}{dx} a^x = a^x \ln{a}$$ 그렇다면 미분해서 원래의 함수와 똑같이 나오는 base를 찾으면 $e$라고 볼 수 있겠군요. 아래는 해당 과정을 구현한 코드입니다. clear close all clc syms x xmin = -2; xmax = 2; xx = linspace(xmin, xmax); % factory: returns symbolic function a^x % fdiff: returns difference (f-dfdx) for a given range of x factory = @(base) base^x; fdiff = @(f) doub..
확인해보기로 했다. 왜냐하면 그냥 균일한 보라색으로 보였거든. 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이 보인다. 나머지도 해봤다.
매트랩의 레이아웃을 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년 반 동안 열심히 굴러준 노트북이 한 달에 한 번 꼴로 블루스크린을 띄우더군요. 불안한 마음에 모처럼 아낌없이 질러주었습니다. 오랜만에 매트랩을 새로 설치하려니 두근두근…하기는커녕 설치파일부터 어디서 다운받아야 할지 헷갈리더군요. 부끄… 간만에 매트랩 설치한 기록을 적어봅니다. 이왕 새로 설치하는 김에 툴박스 설치도 따로 해봤습니다. 제어 이론 수업 들으면서 매트랩 처음 사..
나름 유명한 유머입니다. 이 유머의 포인트는 느낌표를 강조로 보느냐 factorial로 보느냐에 있습니다. 이과의 관점에서는 이라서 옳은 답이고, 문과의 관점에서는 이라야 옳은 답이 됩니다. 이런 유머가 가능한 숫자는 40, 32, 4 외에도 더 있습니다. 예를 들어 아래와 같은 조합도 가능합니다. [문제1] A - B÷2 = C!의 형태로 동일한 유머가 가능한 10000 이하의 자연수 A, B, C는 총 몇 쌍이 있을까요? 답은 총 3쌍입니다. 여러분도 한번 찾아보세요! [문제2] A - B÷D = C!의 형태로 동일한 유머가 가능한 2 이상 100 이하의 자연수 A, B, C, D는 총 몇 쌍이 있을까요? 역시 답은 총 3쌍입니다. 여러분도 한번 찾아보세요! - 게으른