소개
이 실습에서는 C 프로그래밍에서 데이터 집합의 표준 편차를 계산하는 방법을 배웁니다. 이 실습은 데이터 집합의 평균을 계산하고, 평균으로부터의 제곱 편차를 합하여 분산을 계산한 다음, 제곱근을 취하여 표준 편차를 구하는 세 가지 주요 단계로 구성됩니다. 이 실습을 마치면 이러한 기본적인 통계 개념과 이를 C 에서 구현하는 방법에 대한 확실한 이해를 얻게 될 것입니다.
이 실습은 단계별 지침과 샘플 코드를 제공하여 프로세스를 안내합니다. 먼저 주어진 데이터 집합의 평균을 계산하는 C 프로그램을 작성한 다음, 평균으로부터의 제곱 편차를 합하여 분산을 계산하는 프로그램을 확장합니다. 마지막으로 분산의 제곱근을 취하여 표준 편차를 결정하고 결과를 출력합니다.
데이터 집합의 평균 계산
이 단계에서는 C 프로그래밍에서 데이터 집합의 평균을 계산하는 방법을 배웁니다. 평균은 숫자 집합의 평균값을 나타내는 기본적인 통계 측도입니다.
먼저 데이터 집합의 평균을 계산하는 C 프로그램을 만들어 보겠습니다. nano 를 사용하여 새 파일을 엽니다.
cd ~/project
nano mean_calculation.c
이제 다음 코드를 입력합니다.
#include <stdio.h>
#define MAX_SIZE 100
float calculateMean(int arr[], int size) {
float sum = 0;
for (int i = 0; i < size; i++) {
sum += arr[i];
}
return sum / size;
}
int main() {
int dataset[MAX_SIZE];
int size;
printf("Enter the number of elements (max %d): ", MAX_SIZE);
scanf("%d", &size);
printf("Enter %d integers:\n", size);
for (int i = 0; i < size; i++) {
scanf("%d", &dataset[i]);
}
float mean = calculateMean(dataset, size);
printf("Mean of the dataset: %.2f\n", mean);
return 0;
}
프로그램을 컴파일합니다.
gcc mean_calculation.c -o mean_calculation
프로그램을 실행하고 샘플 데이터를 입력합니다.
./mean_calculation
예시 출력:
Enter the number of elements (max 100): 5
Enter 5 integers:
10
20
30
40
50
Mean of the dataset: 30.00
코드를 자세히 살펴보겠습니다.
calculateMean함수는 배열과 크기를 매개변수로 받습니다.- 함수는 배열의 모든 요소의 합을 계산합니다.
- 평균은 합을 총 요소 수로 나누어 계산합니다.
main함수에서 사용자에게 데이터 집합을 입력하도록 요청합니다.calculateMean을 호출하고 결과를 소수점 둘째 자리까지 출력합니다.
제곱 편차의 합과 분산 계산
이 단계에서는 이전 프로그램을 확장하여 평균으로부터의 제곱 편차를 합하여 분산을 계산합니다. 분산은 데이터 집합 내 숫자들이 얼마나 퍼져 있는지 측정합니다.
이전 파일을 수정하려면 다음과 같이 엽니다.
cd ~/project
nano mean_calculation.c
분산 계산을 추가하여 프로그램을 업데이트합니다.
#include <stdio.h>
#include <math.h>
#define MAX_SIZE 100
float calculateMean(int arr[], int size) {
float sum = 0;
for (int i = 0; i < size; i++) {
sum += arr[i];
}
return sum / size;
}
float calculateVariance(int arr[], int size, float mean) {
float sumSquaredDeviations = 0;
for (int i = 0; i < size; i++) {
float deviation = arr[i] - mean;
sumSquaredDeviations += deviation * deviation;
}
return sumSquaredDeviations / size;
}
int main() {
int dataset[MAX_SIZE];
int size;
printf("Enter the number of elements (max %d): ", MAX_SIZE);
scanf("%d", &size);
printf("Enter %d integers:\n", size);
for (int i = 0; i < size; i++) {
scanf("%d", &dataset[i]);
}
float mean = calculateMean(dataset, size);
float variance = calculateVariance(dataset, size, mean);
printf("Mean of the dataset: %.2f\n", mean);
printf("Variance of the dataset: %.2f\n", variance);
return 0;
}
업데이트된 프로그램을 컴파일합니다.
gcc mean_calculation.c -o mean_calculation -lm
프로그램을 실행하고 샘플 데이터를 입력합니다.
./mean_calculation
예시 출력:
Enter the number of elements (max 100): 5
Enter 5 integers:
10
20
30
40
50
Mean of the dataset: 30.00
Variance of the dataset: 200.00
코드의 주요 내용:
- 배열, 크기, 평균을 매개변수로 받는 새로운
calculateVariance함수를 추가했습니다. - 함수는 각 요소의 평균으로부터의 편차를 계산합니다.
- 이러한 편차를 제곱하고 합산합니다.
- 분산은 제곱 편차의 합을 요소 수로 나누어 계산합니다.
- 컴파일 시
-lm플래그를 사용하여 수학 라이브러리를 연결합니다.
표준 편차 계산 및 출력
이 마지막 단계에서는 분산의 제곱근을 계산하여 표준 편차를 완성합니다. 표준 편차는 통계 분석에서 데이터 분산의 핵심 측도입니다.
이전 파일을 수정하려면 다음과 같이 엽니다.
cd ~/project
nano mean_calculation.c
표준 편차 계산을 추가하여 프로그램을 업데이트합니다.
#include <stdio.h>
#include <math.h>
#define MAX_SIZE 100
float calculateMean(int arr[], int size) {
float sum = 0;
for (int i = 0; i < size; i++) {
sum += arr[i];
}
return sum / size;
}
float calculateVariance(int arr[], int size, float mean) {
float sumSquaredDeviations = 0;
for (int i = 0; i < size; i++) {
float deviation = arr[i] - mean;
sumSquaredDeviations += deviation * deviation;
}
return sumSquaredDeviations / size;
}
float calculateStandardDeviation(float variance) {
return sqrt(variance);
}
int main() {
int dataset[MAX_SIZE];
int size;
printf("Enter the number of elements (max %d): ", MAX_SIZE);
scanf("%d", &size);
printf("Enter %d integers:\n", size);
for (int i = 0; i < size; i++) {
scanf("%d", &dataset[i]);
}
float mean = calculateMean(dataset, size);
float variance = calculateVariance(dataset, size, mean);
float standardDeviation = calculateStandardDeviation(variance);
printf("Dataset Statistics:\n");
printf("Mean: %.2f\n", mean);
printf("Variance: %.2f\n", variance);
printf("Standard Deviation: %.2f\n", standardDeviation);
return 0;
}
업데이트된 프로그램을 컴파일합니다.
gcc mean_calculation.c -o mean_calculation -lm
프로그램을 실행하고 샘플 데이터를 입력합니다.
./mean_calculation
예시 출력:
Enter the number of elements (max 100): 5
Enter 5 integers:
10
20
30
40
50
Dataset Statistics:
Mean: 30.00
Variance: 200.00
Standard Deviation: 14.14
코드의 주요 내용:
- 새로운
calculateStandardDeviation함수를 추가했습니다. - 이 함수는
sqrt()함수를 사용하여 표준 편차를 계산합니다. - 표준 편차는 분산의 제곱근입니다.
main함수는 이제 세 가지 통계 측도를 모두 출력합니다.- 수학 라이브러리 연결을 위해 계속해서
-lm플래그를 사용합니다.
요약
이 실험에서 C 프로그래밍으로 데이터 집합의 평균을 계산하는 방법을 처음 배웠습니다. 평균은 숫자 집합의 평균값을 나타내는 기본적인 통계 측도입니다. 그런 다음 평균으로부터의 제곱 편차를 합산하여 분산을 계산하는 프로그램을 확장했습니다. 분산은 데이터 집합 내 숫자들이 얼마나 퍼져 있는지 측정합니다. 마지막으로 분산의 제곱근을 취하여 표준 편차를 계산하고 결과를 출력하는 방법을 배웠습니다.



