my_rolling_statistics
Statistics + Performance 중심의 Octave 학습 예제
ex-recv/02/02_cgh/my_rolling_statistics.m
함수 시그니처
function rolling_Mat = my_rolling_statistics(target_Mat, Split_length) 전체 코드
전체 코드를 복사해서 Octave에서 바로 실행할 수 있습니다.
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
실행 흐름
- 코드 상단부터 순차 실행
핵심 함수/주제
split_MatzerosceilEnd_Pricelengthmy_meanmy_rmsmy_std
실습 과제
- 같은 연산을 내장 함수와 사용자 함수 두 방식으로 계산해 오차를 비교해보세요.
- 핵심 함수 split_Mat의 인자를 한 가지 바꿔 결과 변화를 기록해보세요.
학습 팁
같은 카테고리의 다른 코드
- 수치미분
ex-recv/01/01-CJW-20250321/수치미분.m - main_cjw
ex-recv/01/01-CJW-20250321/main_cjw.m - main-my_diff
ex-recv/01/01-JKH-20250319/main-my_diff.m - hw_1_kim-gpt
ex-recv/01/01-KSG-20250318/hw_1_kim-gpt.m - hw_1_kim
ex-recv/01/01-KSG-20250318/hw_1_kim.m - [Octave] HW#1
ex-recv/01/01-LSH-20250319/[Octave] HW#1.m - Octave_Moon_250319
ex-recv/01/01-MJY-20250319/Octave_Moon_250319.m - Octave01_Park,jm_250319
ex-recv/01/01-PJM-20250319/Octave01_Park,jm_250319.m - [Octave]250318_RYU_poly,dff
ex-recv/01/01-RJW-20250321/[Octave]250318_RYU_poly,dff.m - 과제1_신찬영연구원
ex-recv/01/01-SCY-20250319/과제1_신찬영연구원.m