Octave Atelier

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

Code Detail

partitioning_data

Core Octave 중심의 Octave 학습 예제

ex-recv/02/02_ksg/partitioning_data.m

목록으로

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

카테고리

Submission Archive

submission

코드 길이

25

lines

작성자

-

날짜 정보 없음

패키지

none

pkg load

함수 시그니처

function data_sets = partitioning_data(data, i_start, n_wind)

전체 코드

25 lines

################################################################################
% 전체 기간 데이터를 지정한 시작일로부터 하루씩 늘어나는 시작일에 대해 특정 갯수를 가지는 세트 만들기
% 2025-03-26 / 김상곤
################################################################################

% INPUT
%% data : 전체 데이터 (N, 1) n_wind = N

% OUTPUT
%% i_start : 분할 데이터 시작 인덱스 30
%% n_wind : 분할하려는 데이터 길이 n_wind = 30
%% data_sets : 결과물 [n_wind, n_set] (30, 220)

function data_sets = partitioning_data(data,i_start,n_wind)
    N = length(data); % 전체 데이터 길이
    n_set = N - n_wind + 1;

    % 결과를 저장할 cell 배열 생성
    data_sets = zeros(n_wind, n_set);

    for i = 1:n_set
        data_sets(:, i) = data(i_start+i-1 : i_start+i-1+n_wind-1);
    end
end

코드 해설

목적

  • Core Octave 중심의 Octave 학습 예제

입력

  • 파라미터: data
  • 파라미터: i_start
  • 파라미터: n_wind

출력

  • 반환값: data_sets

실행 흐름

  1. 전체 기간 데이터를 지정한 시작일로부터 하루씩 늘어나는 시작일에 대해 특정 갯수를 가지는 세트 만들기
  2. % data : 전체 데이터 (N, 1) n_wind = N
  3. % i_start : 분할 데이터 시작 인덱스 30
  4. % n_wind : 분할하려는 데이터 길이 n_wind = 30
  5. % data_sets : 결과물 [n_wind, n_set] (30, 220)
  6. 결과를 저장할 cell 배열 생성

핵심 함수

  • data
  • data_sets
  • length
  • zeros

실습 과제

  • 핵심 함수 data의 인자를 한 가지 바꿔 결과 변화를 기록해보세요.
  • "전체 기간 데이터를 지정한 시작일로부터 하루씩 늘어나는 시작일에 대해 특정 갯수를 가지는 세트 만들기 -> % data : 전체 데이터 (N, 1) n_wind = N" 흐름을 함수 단위로 분리해 리팩터링해보세요.

같은 카테고리 코드

이전 코드 main_02_ksg 다음 코드 read_custom_csv