Octave Atelier

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

Code Detail

my_rolling_statistics

Statistics + Performance 중심의 Octave 학습 예제

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

목록으로

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

카테고리

Submission Archive

submission

코드 길이

31

lines

작성자

-

날짜 정보 없음

패키지

none

pkg load

함수 시그니처

function rolling_Mat = my_rolling_statistics(target_Mat, Split_length)

전체 코드

31 lines



function rolling_Mat = my_rolling_statistics(target_Mat, Split_length)
  #target_Mat : spliting target_Mat
  # Split_length : spliting length
  # EX) my_rolling_statistics(End_Price, 30)
  data_len = length(target_Mat)
  
  #final : last split point
  final = ceil((data_len -Split_length));
  split_Mat = zeros(final, Split_length);

  for i = 1 : final
##    temp_split = End_Price(i:i+Split_length);
##    split_Mat = [split_Mat; temp_split'];
    split_Mat(i,:)=target_Mat(i:i+Split_length-1);
  endfor

##  rolling_Mat = [];
  rolling_Mat = zeros(final,4);
  for i = 1 : final
    rolling_mean = my_mean(split_Mat(i,:));  
    rolling_var = my_var(split_Mat(i,:));    
    rolling_std = my_std(split_Mat(i,:));   
    rolling_rms = my_rms(split_Mat(i,:));   
    #rolling_Mat = [rolling_Mat ; rolling_mean rolling_var rolling_std rolling_rms];
    rolling_Mat(i,:) = [rolling_mean rolling_var rolling_std rolling_rms];
  endfor

endfunction

코드 해설

목적

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

입력

  • 파라미터: target_Mat
  • 파라미터: Split_length

출력

  • 반환값: rolling_Mat

실행 흐름

  1. 코드 상단부터 순차 실행

핵심 함수

  • split_Mat
  • zeros
  • ceil
  • End_Price
  • length
  • my_mean
  • my_rms
  • my_std

실습 과제

  • 같은 연산을 내장 함수와 사용자 함수 두 방식으로 계산해 오차를 비교해보세요.
  • 핵심 함수 split_Mat의 인자를 한 가지 바꿔 결과 변화를 기록해보세요.

같은 카테고리 코드

이전 코드 my_rms 다음 코드 my_std