카테고리
Package Drillpackage-drill
코드와 해설을 함께 읽는 학습 문서
Code Detail
Statistics + Control & Dynamics 중심의 Octave 학습 예제
ex-pkg/ex-statistics.m
코드를 복사해 Octave에서 바로 실행할 수 있습니다.
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"); ex-pkg/ex-cms.m
ex-pkg/ex-control.m
ex-pkg/ex-fmt.m
ex-pkg/ex-fstring.m
ex-pkg/ex-image.m
ex-pkg/ex-io.m
ex-pkg/ex-optim.m
ex-pkg/ex-signal.m