Octave Atelier

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

Code Detail

ex-statistics

Statistics + Control & Dynamics 중심의 Octave 학습 예제

ex-pkg/ex-statistics.m

목록으로

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

카테고리

Package Drill

package-drill

코드 길이

47

lines

작성자

-

날짜 정보 없음

패키지

statistics

pkg load

전체 코드

47 lines

run("../startup.m")
pkg load statistics

% 예제 1: 기본적인 통계 계산
data = [5, 7, 8, 9, 10, 6, 5, 8, 9, 7];

mean_val = mean(data);   % 평균
median_val = median(data); % 중앙값
std_val = std(data);     % 표준편차

printf(fmt("mean  : {mean_val}\n"))
printf(fmt("median: {median_val}\n"))
printf(fmt("std   : {std_val}\n"))

% 예제 2: 정규분포 난수 생성
random_data = normrnd(0, 1, 1, 1000);  % 평균 0, 표준편차 1인 정규분포에서 1000개 샘플 생성

% 히스토그램 그리기
param_f = {"Size", [1280, 720], "Name", "Histogram"};
param_a = {"Title", "정규분포 난수 히스토그램", "XLabel", "값", "YLabel", "빈도수"};
figured(param_f);
subplots(param_a);
hist(random_data, 30);

% 예제 3: t-검정 수행 (H0: 데이터의 평균이 7과 같다)
[h, pval] = ttest(data, 7);

printf(fmt("hypothesis: {h}\n"))
printf(fmt("p-value   : {pval}\n"))

% 예제 4: 선형 회귀 분석
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
y = [2, 4, 5, 4, 5, 7, 8, 9, 10, 11];

% 1차 선형 회귀
p = polyfit(x, y, 1);
y_fit = polyval(p, x);

% 회귀선 그래프
param_f = {"Size", [1280, 720], "Name", "Regression"};
param_a = {"Title", "선형 회귀", "XLabel", "x", "YLabel", "y"};
figured(param_f);
subplots(param_a);
plotd(x, y, "o", ";데이터;");
plotd(x, y_fit, ";회귀선;");
legend("Location", "northwest");

코드 해설

목적

  • Statistics + Control & Dynamics 중심의 Octave 학습 예제

입력

  • 스크립트 상단에서 정의한 파라미터/입력 데이터를 사용합니다.

출력

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

실행 흐름

  1. 예제 3: t-검정 수행 (H0: 데이터의 평균이 7과 같다)
  2. 회귀선 그래프

핵심 함수

  • fmt
  • printf
  • figured
  • plotd
  • subplots
  • hist
  • legend
  • mean

실습 과제

  • 같은 연산을 내장 함수와 사용자 함수 두 방식으로 계산해 오차를 비교해보세요.
  • 질량/감쇠/강성 또는 전달함수 계수를 바꿔 응답 변화를 확인해보세요.
  • 초기값을 2~3개 바꿔 최적해 수렴 차이를 기록해보세요.

학습 팁

  • 입력 파일 경로가 현재 작업 디렉터리 기준인지 먼저 확인하세요.

같은 카테고리 코드

이전 코드 ex-signal 다음 코드 ex-symbolic