1. 전역변수의 설정.
global 을 사용하여 정의해 주면 된다. 매트랩에는 변수를 미리 정의한다는 개념이 거의 없는 듯 하지만 이것은 예외다. 특이한 점은 두 가지다.
ㄱ. 변수의 정의는 함수 안에서 한다.
ㄴ. global 을 사용하여 정의된 변수를 다른 곳에서 사용하기 위해서는 사용 전에 한번 더 '정의' 해 주어야 한다. 이름이 같다면 같은 변수로 간주된다.
ex. function A
global a;
a =3;
end
function B
global a;
disp(a);
end
ref. http://engi-agora.tistory.com/43
2. 이미 그린 plot 위에다 그래프를 하나 더 그릴때
hold on
또는
hold (axes_handle, 'on')
특정핸들을 지정해 주지 않으면, 여러 개의 object들을 사용하고 있을 때에 오류가 날 수도 있다. 가능하면 핸들을 지정해서 on off를 해 주는 것이 좋을 듯 하다.
3. plot에서 특정 영역 highlight
- 영역 그래프를 그리는 area 함수를 사용하여 아래쪽 위쪽을 각각 색칠하고 투명하게 바꾼다
h = area([range_start range_end], [ymax ymax]);
set(h,'FaceColor',[0.0,.5,.5]);
set(h,'EdgeColor','none');
set(get(h,'children'),'FaceAlpha',0.4);
if ymin<0
h = area([range_start range_end], [ymin ymin]);
set(h,'FaceColor',[0.0,.5,.5]);
set(h,'EdgeColor','none');
set(get(h,'children'),'FaceAlpha',0.4);
end
4. Handle이 valid 한지 아닌지 체크하는 함수
ishandle (h)
5. 소팅 함수
sort 함수는 각 행이나 열의 값을 따로따로 분리된 것으로 보고 sorting 시에 섞어 버리기 때문에, (하나의 row가 묶여진 값인) 신호처리/패턴인식 등에 사용할 때에는 별 쓸모가 없다. sortrow 함수를 쓰면 편하게 사용할 수 있다.
result_data = sortrow(data, column_index_to_sort)
6. handle을 사용하여 x/y label 변경하기
일반적으로는 xlabel /ylabel 함수를 쓰면 되지만, 가끔 꼭 핸들을 써 줘야 하는 경우가 있다.
xlabel이 axes의 일반 property 가 아니라서 (children 으로 잡혀 있는 듯....) 아래와 같이 해줘야 함
set(get(handles.axes,'XLabel'),'String',str);
7. Figure를 고해상도 jpeg 파일로 저장하기
-set 함수와 print 함수를 사용 (width, height는 inch 단위. r100은 인치당 100px를 의미)
plot(1:10) % Example graph
set(gcf,'PaperUnits','inches','PaperPosition',[0 0 width height])
print -djpeg filename.jpg -r100
출처: http://www.mathworks.com/matlabcentral/answers/102382-how-do-i-specify-the-output-sizes-of-jpeg-png-and-tiff-images-when-using-the-print-function-in-mat