figure나 axes의 colormap은 보통 64x3 행렬 형태로 들어있습니다. 실제로 어떤 colormap이 적용됐는지 알기 어렵죠. 그래서 첨부와 같이 만들어보았습니다. handle을 입력으로 넣으면 어떤 colormap인지 string으로 반환해줍니다. 2019년 12월 22일 현재 18개의 colormap이 있습니다. 이 18개에 해당되지 않으면 "unknown"을 반환합니다. 자유롭게 사용하시되, developer 정보는 남겨주세요. 게으른맽랩
요즘 이딴 식을 다루다 보니 matlab에 제대로 타이핑을 했는지 한참을 보게 됩니다. 안 그래도 하루하루 눈이 침침해지는데 말이죠... (잠깐 눈물 좀 닦고...) Matlab의 latex 기능을 활용해서 수식을 latex form으로 확인할 수 있는 코드를 작성해보았습니다. 위 파일을 적당한 곳에 두고 아래처럼 작성하면 아래처럼 그림이 뜹니다. 간단한 도움말은 파일 내에 적어두었습니다. 배포는 자유이지만 작성자명은 지우지 말아주세요. - 게으른 맽랩 ==== 궁극적으로는 아래와 같은 더러운 식도 한번에 보는 게 목표입니다만, 일단 식이 길어서 창 크기 또는 fontsize를 조절해야 하고, greek character를 어떻게 표기할 지 문제가 남아있습니다. 방법을 연구해보겠습니다. 해결책을 찾으면 ..
제가 활동(?) 중인 카톡 오픈방 "MATLAB 공부"에서 아래와 같은 주제로 설문조사를 시행했습니다. "내가 선호하는 매트랩 공부법은?" 무려 34명이 참여해주셨고, 결과는 아래와 같았습니다. 나름대로 분석을 해보자면... 1. 생각보다 동영상 및 인강이 인기가 없었습니다. 이유가 궁금하네요. 필요한 부분만 골라볼 수 없어서? 한번 보는 데 오래 걸려서? 무슨 말인지 이해할 수 없어서? 좋은 영상이 없어서? 2. 일단 쓰면서 모르면 help 검색이 많았습니다. 하지만 그와 동시에 help를 봐도 모르겠다는 분들이 많았습니다. 제가 봐도 매트랩의 help는 교육자료라기보단 일종의 reference 성격이 짙습니다. 게다가 번역도 그다지 만족스럽지 못하더군요. 좀 더 친절한 help를 만드는 것도 재밌겠다..
네, 있습니다. 바로 end라는 키워드입니다. Code 1.sub_a = a(3:end); % a의 3번째~끝까지의 element를 sub_a에 저장합니다. sub_b = b(3:4,2:end); % b의 3~4번째 행, 2번째~마지막 열에 해당하는 행렬을 sub_b에 저장합니다. 당연히 b가 1차원 행렬일 경우 Code 1의 두 번째 줄은 에러가 뜹니다. 위 코드는 Code 2처럼 쓸 수도 있지만, 여러모로 end를 쓰는 것에 비해 장점이 없습니다. Code 2. sub_a = a(3:length(a)); sub_b = b(3:4,2:size(b,2)); end를 쓸 수 있으면 아래와 같은 활용이 가능합니다. Code 3. Y = X(2:2:end-1); % X의 짝수번 째 element를 Y에 저장,..
있습니다. ...(점 3개)을 이용하면 됩니다. plot(x,y,'--gs','LineWidth',2,'MarkerSize',10,'MarkerEdgeColor','b','MarkerFaceColor',[0.5,0.5,0.5]) plot(x,y,'--gs', ... 'LineWidth',2, ... 'MarkerSize',10, ... 'MarkerEdgeColor','b', ... 'MarkerFaceColor',[0.5,0.5,0.5]) cube = struct('width',10,'height',20','depth',30); cube = struct('width' ,10, ... 'height',20, ... 'depth' ,30 ); 같은 코드이지만 위보다 아래가 더 눈에 잘 들어오는 걸 볼 수 ..
[ 빠르게 답만 원하시는 분들을 위해 ] '는 전치행렬 transpose matrix를 만들 때 복소수를 켤레복소수 complex conjugate로 만듭니다. 그냥 대칭이동만 하려면 ' 대신 .'을 쓰면 됩니다. a' % a의 complex conjugate transposea.' % a의 non-conjugate transpose ==== [ 딱히 몰라도 되지만 알아두면 아는 척 하기 좋은 쓸데없는 추가설명 ] 1) complex conjugate transpose를 만드는 방법은 두 가지가 있습니다. 둘 모두 결과는 동일하지만 가독성의 차이는 있습니다. 본인 스타일에 맞게 쓰시면 됩니다. a' % 짧지만 사람에 따라 가독성이 떨어질 수 있음 ctranspose(a) % 사람에 따라 가독성이 올라갈 ..
있습니다. 긴 글 꼼꼼히 읽기 귀찮으신 분은 링크1과 링크2를 눌러보세요. ==== 행렬을 좌우 또는 상하로 뒤집고 싶을 때가 있죠. 어차피 방법은 동일하니 여기서는 상하로 뒤집는 경우만 생각하겠습니다. 행렬을 뒤집는 덴 많은 방법이 가능합니다. 가장 쉽게(?) 생각나는 방법은 행렬의 index를 뒤집어서 행렬의 요소를 하나하나 다시 저장하는 것이겠습니다. index_reversed = (size(a,1):-1:1); a_reversed = zeros(size(a)); for i=1:size(a,1) i_new = index_reversed(i); for j=1:size(a,2) a_reversed(i,j) = a(i_new,j); end end 쓸데없이 변수도 많이 만들어야 하고 코드가 지저분해 보입니..