웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
기초 통계 프로그램 for 귀차니스트;;
2002.08.10 19:34
http://jukiyo.net/data/sta.php험험;;오늘은 굉장히 쓸데없는 프로그램을 하나 만들어봤습니다...이름하여"기초 통계 프로그램"입니다;;
아주 간단한 for문으로 평균,편차,분산,표준편차를 구합니다;;
이걸 만든 동기가 중요한데 방학숙제인 문제집 풀기를 간단히 하기 위해서입니다;;;중 3 수학 교과서에 통계단원이 나오는데 이거 하나면 OK입니다;;;(사용 후 머리가 나빠졌다든가 따위는 사용자 책임입니다;;)계산기를 써도 되지만 아시다시피 엄청난 노가다;여서 강좌 겸해서 만들었습니다.
주석이 상제하게 붙어 있어 그걸로도 이해가 기실 겁니다...소스 나갑니다;;
*파일첨부는 안했으니 사용하시려면 복사와 붙여넣기로...
<?
//기초 통계 시스템-_-a
//자료 입력부
$data[] = 18;
$data[] = 23;
$data[] = 23;
$data[] = 17;
$data[] = 24;
$data[] = 21;
//무한히 늘려도 됨;;
//실행부
$datatotal = sizeof($data); //배열(자료)의 수 구함
if(!$datatotal) { //자료가 없음;;
echo("자료가 없습니다!");
exit(); //해석을 끝내버린다
} else {
if($datatotal == 1) { //자료가 하나뿐일때
echo("자료가 하나뿐입니다!<p>"); //에러메시지를 내보내고 프로그램은 계속 실행한다
}
echo("<b>자료: ");
for($i = 1;$i <= $datatotal;$i++) { //총합을 구하는 for문
$j = $i - 1; //실제 배열의 값은 루프값보다 1 적다;
$total += $data[$j];
$str .= "$data[$j], "; //바로 echo문을 쓰지 않고 변수로 저장한다!!!
}
$str .= "(총 ${datatotal}개)"; //총 갯수 변수에 추가
$str = str_replace(", ("," (",$str); //맨뒤의 보기싫은 , 떼어버림
$average = $total / $datatotal; //평균 계산
$average = sprintf("%.3f",$average); //소수점 아래 3자리까지
echo("$str</b><p>평균: $average<br>");
for($i = 1;$i <= $datatotal;$i++) { //다시for문을 돈다;;;
$j = $i - 1; //이번 for문에서는 편차와 분산을 구한다.
$del = $average - $data[$j]; //편차 구함
$str2 .= "$data[$j]: $del, " ; //편차 문자열 합함
$temp = pow($del,2); //편차제곱;;
$dis += $temp; //편차제곱을 다 합해 분산 구함
}
$dis = $dis / $datatotal; //역시 자료수로 나눠준다
$dis = sprintf("%.3f",$dis); //역시 소수점 아래 3자리까지
$str2 .= "a"; //,를 떼기위해 맨뒤에 임의의 특징적인 문자열을 넣어준다
$str2 = str_replace(", a","",$str2); //역시 ,와 아까 임의의 문자열 떼어버림
echo("분산: $dis(편차 = $str2)<br>표준편차는 분산에 루트");
}
//여기까지
/*****************************************/
/* 제작자: TheMics(themics@hotmail.com */
/* 사용은 자유입니다~ */
/*****************************************/
아주 간단한 for문으로 평균,편차,분산,표준편차를 구합니다;;
이걸 만든 동기가 중요한데 방학숙제인 문제집 풀기를 간단히 하기 위해서입니다;;;중 3 수학 교과서에 통계단원이 나오는데 이거 하나면 OK입니다;;;(사용 후 머리가 나빠졌다든가 따위는 사용자 책임입니다;;)계산기를 써도 되지만 아시다시피 엄청난 노가다;여서 강좌 겸해서 만들었습니다.
주석이 상제하게 붙어 있어 그걸로도 이해가 기실 겁니다...소스 나갑니다;;
*파일첨부는 안했으니 사용하시려면 복사와 붙여넣기로...
<?
//기초 통계 시스템-_-a
//자료 입력부
$data[] = 18;
$data[] = 23;
$data[] = 23;
$data[] = 17;
$data[] = 24;
$data[] = 21;
//무한히 늘려도 됨;;
//실행부
$datatotal = sizeof($data); //배열(자료)의 수 구함
if(!$datatotal) { //자료가 없음;;
echo("자료가 없습니다!");
exit(); //해석을 끝내버린다
} else {
if($datatotal == 1) { //자료가 하나뿐일때
echo("자료가 하나뿐입니다!<p>"); //에러메시지를 내보내고 프로그램은 계속 실행한다
}
echo("<b>자료: ");
for($i = 1;$i <= $datatotal;$i++) { //총합을 구하는 for문
$j = $i - 1; //실제 배열의 값은 루프값보다 1 적다;
$total += $data[$j];
$str .= "$data[$j], "; //바로 echo문을 쓰지 않고 변수로 저장한다!!!
}
$str .= "(총 ${datatotal}개)"; //총 갯수 변수에 추가
$str = str_replace(", ("," (",$str); //맨뒤의 보기싫은 , 떼어버림
$average = $total / $datatotal; //평균 계산
$average = sprintf("%.3f",$average); //소수점 아래 3자리까지
echo("$str</b><p>평균: $average<br>");
for($i = 1;$i <= $datatotal;$i++) { //다시for문을 돈다;;;
$j = $i - 1; //이번 for문에서는 편차와 분산을 구한다.
$del = $average - $data[$j]; //편차 구함
$str2 .= "$data[$j]: $del, " ; //편차 문자열 합함
$temp = pow($del,2); //편차제곱;;
$dis += $temp; //편차제곱을 다 합해 분산 구함
}
$dis = $dis / $datatotal; //역시 자료수로 나눠준다
$dis = sprintf("%.3f",$dis); //역시 소수점 아래 3자리까지
$str2 .= "a"; //,를 떼기위해 맨뒤에 임의의 특징적인 문자열을 넣어준다
$str2 = str_replace(", a","",$str2); //역시 ,와 아까 임의의 문자열 떼어버림
echo("분산: $dis(편차 = $str2)<br>표준편차는 분산에 루트");
}
//여기까지
/*****************************************/
/* 제작자: TheMics(themics@hotmail.com */
/* 사용은 자유입니다~ */
/*****************************************/
댓글 3
제목 | 글쓴이 | 날짜 |
---|---|---|
[동영상강좌] 제18회차 - 문자열 연산자, 조건연산자 알아보기 | 아이티스터디 | 2006.02.02 |
[동영상강좌] 제17회차 - 논리연산자, 비교연산자 알아보기 | 아이티스터디 | 2006.02.02 |
[동영상강좌] 제16회차 - 산술연산자, 할당연산자, 증감연산자 알아보기 | 아이티스터디 | 2006.02.02 |
[동영상강좌] 제15회차 - 변수 선언하기 | 아이티스터디 | 2006.02.02 |
[동영상강좌] 제14회차 - 스크립트내 html삽입하기 | 아이티스터디 | 2006.02.02 |
[동영상강좌] 제13회차 - [문법] 출력문 | 아이티스터디 | 2006.02.02 |
[동영상강좌] 제12회차 - [문법] 자바스크립트의 구조 | 아이티스터디 | 2006.02.02 |
[동영상강좌] 제11회차 - 마우스를 올려 테두리 나오게 하기 | 아이티스터디 | 2006.02.02 |
[동영상강좌] 제10회차 - F11키 처럼 창키우기 [1] | 아이티스터디 | 2006.02.02 |
[동영상강좌] 제9회차 - 메시지창(문서열때,닫을때,클릭시) | 아이티스터디 | 2006.02.02 |
[동영상강좌] 제8회차 - 뒤로가기/앞으로가기 만들기 [1] | 아이티스터디 | 2006.02.02 |
[동영상강좌] 제7회차 - 롤오버기능 만들기 | 아이티스터디 | 2006.02.02 |
[동영상강좌] 제6회차 - 시간별로 배경이 바뀌게 만드는방법 | 아이티스터디 | 2006.02.02 |
[동영상강좌] 제5회차 - 풀스크린으로 링크거는방법 | 아이티스터디 | 2006.02.02 |
[동영상강좌] 제4회차 - 풀다운메뉴 만드는방법 | 아이티스터디 | 2006.02.02 |
[동영상강좌] 제3회차 - 자동으로 창열고닫기 | 아이티스터디 | 2006.02.02 |
[동영상강좌] 제2회차 - 팝업창 띄우기 [1] | 아이티스터디 | 2006.02.02 |
[동영상강좌] 제1회차 - 랜덤광고 만들기 [1] | 아이티스터디 | 2006.02.02 |
새창으로 페이지열기에 대한... [2] | 나만의길 | 2006.01.04 |
홈페이지 만드실때 방문자의 해상도가 걱정 되신다면 [5] | 한용 | 2005.11.11 |