최소 제곱법에의한 계산식 적용 c 코드:
#include <stdio.h>
#define TEXTLENGTH 4096 //텍스트 최대 크기
int main(){
char text[TEXTLENGTH];
double xi, yi; //입력된 데이터
double sxi = 0, syi = 0, sxiyi = 0, sxi2 = 0; //각항 계산 결과 저장용
double a0, a1; //계수
int n = 0; //데이터 갯수
//데이터 입력
while(fgets(text, TEXTLENGTH, stdin) != NULL){
if(sscanf(text, "%lf %lf", &xi, &yi) ==2){
//변환 성공, 각 항 계산
sxi += xi;
syi += yi;
sxiyi += xi * yi;
sxi2 += xi * xi;
++n;
}else{
//변환 실패, 건너뛰기
fprintf(stderr, "바르지 않은 데이터: %s\n", text);
}
}
if(n > 1){ //데이터가 2개 이상 존재시
//계수 계산
a0 = (sxi2 * syi - sxiyi * sxi) / (n * sxi2 - sxi * sxi);
a1 = (n * sxiyi - sxi * syi) / (n * sxi2 - sxi * sxi);
//결과 출력
printf("%1f\n%1f\n", a0, a1);
}else{ //데이터 부족시
fprintf(stderr, "데이터가 부족합니다.\n");
}
return 0;
}
|
Cygwin (유닉스 공통?) 명령어들
ls: 폴더 내 파일 보기.
cat: 파일 내용 보기. ex) cat sample.txt
cd 폴더명: 하위 폴더로 이동 ex) cd cprog
head: 앞 부분 추출
ex) head -5 test.txt > test5line.txt
text.txt 의 처음 5줄만 뽑아 text5line.txt로 저장하기.
sort: 파일 내용 정렬해서 보기.
grep: 특정 줄만 선택하여 보기.
lpr: 프린터로 출력하기.
gcc testProgram.c -o testProgram
: gcc로 c파일 컴파일하기
./ : 프로그램 실행 ex) ./testProgram < sample.txt
ctrl-D: 입력 종료
iconv: 텍스트 문서의 코드형식 변경
ex) $ iconv -f euc-kr -t utf-8 kikaiStudy.txt > kikaiStudyU8.txt
: euc-kr형식인 kikaiStudy.txt를 utf-8형식으로 변경해 kikaiStudyU8.txt로 저장하기.
ex) $ iconv -f utf-8 -t sjis < testUtf8.txt > testSjis.txt
: utf-8형식인 testUtf8.txt를 JIS(sjis)형식으로 변경해 testSjis.txt로 저장하기.
|