컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post Python/파이썬] 표준편차 구하기/계산 함수 소스; Standard Deviation ...C언어] 표준 편차 구하기/계산 함수 소스; Standard Deviation Functi...Java/자바] 표준 편차 구하기/계산 메서드; Standard Deviation Meth...C언어] 파일 복사 함수, 화일 카피 소스; File Copy Function Source...Excel/엑셀] 표준편차 구하기 함수 (표본, 모집단 전체); Standard Devia...Perl/펄] MS가 개발한 Win32용 펄 스크립트 다운로드; Microsoft Scri...C언어 에러 해결] unresolved external symbol _main refere...KChess Elite] 체스 오프닝 사전; Encyclopedia of Chess Ope...자바스크립트] 원주율(파이 값; PI)상수, 자연 로그의 밑 e 상수; JavaScript...자바스크립트] log2 (밑이 2인 로그 함수), log (ln), log10(상용 로그)...

Perl/펄] 표준 편차 구하기/계산 함수; Standard Deviation Function

Monday, February 26, 2007

펄에서는 아래 예제와 같은 방법으로, 표준편차 구하는 함수(서브 루틴)를 만들 수 있습니다.

standardDeviation(배열명, 옵션)
의 형식입니다.

숫자가 든 배열명이 @foo 일 때,

standardDeviation(@foo, 1)
이라고 하면, 엑셀의 STDEV() 함수에 해당하는 "표본의 표준 편차"를 구할 수 있고

standardDeviation(@foo, 0)
이라고 하면, 엑셀의 STDEVP() 함수에 해당하는 "모집단 전체의 표준 편차"를 구할 수 있습니다.

표준편차 계산 예제 코드


파일명: example.pl
#!/usr/bin/perl
use strict; use warnings;

  my @foo = ( 1345, 1301, 1368, 1322, 1310, 1370, 1318, 1350, 1303, 1299 );


  # 평균 구하기
  print mean(@foo), "\n";
  # 출력 결과: 1328.6


  # 표본의 표준편차 구하기 (STDEV)
  print standardDeviation(@foo, 1), "\n";
  # 출력 결과: 27.4639157198435


  # 모집단 전체의 표준편차 구하기 (STDEVP)
  print standardDeviation(@foo, 0), "\n";
  # 출력 결과: 26.0545581424825




sub mean {  # 산술 평균 구하기
  return "NaN" if ($#_ < 0); # 빈 배열일 경우의 에러 처리

  my @array = @_;
  my $sum = 0.0;

  for (my $i = 0; $i <= $#array; $i++) {
    $sum += $array[$i];
  }

  # 소괄호로 둘러싸 주지 않으면
  # 연산자 우선 순위 때문에 버그 생김
  return $sum / ($#array + 1);
}


sub standardDeviation {
  my $option = pop;
  my @array = @_;

  return "NaN" if ($#array + 1 < 2); # 배열 요소 개수가 최소한 2가 되어야 함

  my $sum = 0.0;
  my $sd = 0.0;
  my $diff;
  my $meanValue = mean(@array);

  for (my $i = 0; $i <= $#array; $i++) {
    $diff = $array[$i] - $meanValue;
    $sum += $diff * $diff;
  }
  $sd = sqrt($sum / ($#array + 1 - $option));

  return $sd;
}



▶▶ Perl/펄] 배열 합계, 산술 평균 구하기; Array Sum, Average (Mean)

표준편차 계산기: ▶▶ 평균 계산기, 합계 구하기, 표준편차 계산기, 중앙값; Sum Average Stdev Median Calc

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top