Octave Atelier

코드와 해설을 함께 읽는 학습 문서

Code Detail

my_plot

Statistics + Visualization 중심의 Octave 학습 예제

ex-recv/02/02_cgh/my_plot.m

목록으로

코드를 복사해 Octave에서 바로 실행할 수 있습니다.

카테고리

Submission Archive

submission

코드 길이

56

lines

작성자

-

날짜 정보 없음

패키지

none

pkg load

함수 시그니처

function my_plot(Arg1, Arg2, Arg3)

전체 코드

56 lines

#My plot properties


function my_plot(Arg1,Arg2,Arg3)
#case1 : Arg1 = Ydata
#case2 : Arg1 = Xdata, Arg2 = Ydata
#case3 : Arg1 = Ydata, Arg2 = XticksLabel_Data
#case4 : Arg1 = Xdata, Arg2 = Ydata, Arg3 = XticksLabel_Data
figure()
set(gcf,'Position',[100,100,800,400])
  
  
if nargin == 1 #case1 : Arg1 = Ydata
  X_Data = [1:length(Arg1)];
  Y_Data = Arg1;
  plot(X_Data,Y_Data)
  xlabel('Index')
elseif (nargin == 2) && (~iscell(Arg1)&&(~iscell(Arg2)))
  #case2 : Arg1 = Xdata, Arg2 = Ydata
  disp('checkcheck1')
  X_Data = Arg1;
  Y_Data = Arg2;
  plot(X_Data,Y_Data)
elseif ((nargin ==2)&&(iscell(Arg1)||(iscell(Arg2))))
  #case3 : Arg1 = Ydata, Arg2 = XticksLabel_Data
  X_Data = [1:length(Arg1)];
  Y_Data = Arg1;
  ticks_data = Arg2;
  disp('checkcheck2')
  plot(X_Data,Y_Data)
  xticks(ceil(linspace(1,length(Arg1),5)))
  xticklabels(Arg2(ceil(linspace(1,length(Arg1),5))))
  xlabel('Date')
  
elseif (nargin ==3)
  X_Data = Arg1;
  Y_Data = Arg2;
  ticks_data = Arg3;
  plot(X_Data,Y_Data)
  xticks(ceil(linspace(1,length(Arg2),5)))
  xticklabels(Arg3(ceil(linspace(1,length(Arg2),5))))
  xlabel('date')
  #case4 : Arg1 = Xdata, Arg2 = Ydata, Arg3 = XticksLabel_Data
endif
##
xlim([X_Data(1),X_Data(end)])
ylim([0,250])
set(gca,'Fontsize',12)
ylabel('Price')'
legend('mean', 'var', 'std', 'rms')
title('End Price')
grid on

endfunction
##

코드 해설

목적

  • Statistics + Visualization 중심의 Octave 학습 예제

입력

  • 파라미터: Arg1
  • 파라미터: Arg2
  • 파라미터: Arg3

출력

  • 그래프/figure 출력
  • 콘솔 텍스트 출력

실행 흐름

  1. My plot properties

핵심 함수

  • length
  • ceil
  • iscell
  • linspace
  • plot
  • xlabel
  • disp
  • set

실습 과제

  • 같은 연산을 내장 함수와 사용자 함수 두 방식으로 계산해 오차를 비교해보세요.
  • 축 범위와 라벨을 바꿔 그래프 해석성이 어떻게 달라지는지 확인해보세요.
  • 핵심 함수 length의 인자를 한 가지 바꿔 결과 변화를 기록해보세요.

학습 팁

  • 그래프 비교 시 축 범위(XLim/YLim)와 단위를 먼저 고정하면 해석 오류를 줄일 수 있습니다.

같은 카테고리 코드

이전 코드 my_mean 다음 코드 my_rms