Q&A

  • stddev()함수 사용법
도움말에는 function StdDev(const Data: array of Double): Extended; 이렇게 써 있는데

잘 안되네요..
사용하는 예좀 알려주세요

procedure a
var
wMeanArr : array [0..100] of Double;
wMean : doublel;
begin

   wMean := StdDev(wMeanArr);

  //이렇게 하면 안되는데......
    
end;
4  COMMENTS
  • Profile
    명태가조아 2005.11.11 02:41
    a := stddev(배열이름);

    배열이름 : 동적/정적 상관 없다..

    단!!!!!!
    표준편차를 구하여 이 녀석을 이용하여 나눗셈을 할 경우
    '0'  으로 나누는 오류에 빠질수 있으니 주의 하세요~

    음..즉.

    a := stddev(배열이름);
    Result := 총합 / a ;   // 이 줄에서 만약 표준편차가 0 일경우 오류가 퍽! 뜹니다...
    따라서

    if a <> 0 then begin
    Result := 총합 / a ;
    end;

    해 주시거나

    a := stddev(배열이름)+0.0001;  //해주세요 ^^;;
    Result := 총합 / a ;


    표준편차나 기타 수치를 그래프 형식으로 나타내시려면

    짧은 지식으로는 티 차트라는게 있어요~~

    델파이 깔린 디렉토리 찾아보심 예제가 나와 있구요

    평안~



  • Profile
    최용일 2005.11.10 00:18
    안녕하세요. 최용일입니다.

    값 잘 나오는데요...

    <!--CodeS-->
    procedure a;
    var
      wMeanArr : array [0..4] of Double;
      wMean : double;
    begin
      wMeanArr[0] := 29.25;
      wMeanArr[1] := 29.85;
      wMeanArr[2] := 29.95;
      wMeanArr[3] := 29.90;
      wMeanArr[4] := 29.75;
      wMean := StdDev(wMeanArr); // standard deviation = 0.2837
    end;
    <!--CodeE-->

    ^^ 항상 즐코하세요...


  • Profile
    델파인 2005.11.10 19:08
    답변 감사합니다.

    제가  uses 에 math를 입력하지 않았네요..

    그런데 또 문제가 있습니다.

    배열의 크기가 가변적이거든요 그래서 동적배열로 처리 할려고 했더니

    StdDev()는 정적배열만 가능한것 같네요

    그리고 정적배열은 배열크기를 변수로 사용할 경우 상수형 변수만 가능한데
    상수형 변수의 값을 변경하거나 아니면 다른 방법을 활용해서 가변적인 자료의 숫자를 배열에
    입력해서 통계처리를 할 수 있는 방법이 있는지 알려주세요

    그리고 한 가지 더 질문 드릴께요......
    제가 표준편차, 정규분포도 등을 그래프로 구현을 해야되는데 델파이에서 구현 할 수 있는지와
    있다면 어떤 방법이 있는지 자세히 좀 알려 주시면 정말 감사하겠습니다.
    급하거든요....



  • Profile
    최용일 2005.11.10 19:18
    안녕하세요. 최용일입니다.

    정적배열, 동적배열 모두 다 사용할 수 있습니다.

    function StdDev(const Data: array of Double): Extended;

    어떤 언어든지 이러한 것들을 그래프로 그릴 수 있습니다.

    예전에도 말씀드린것같은데... 직접 Canvas나 DC, 즉 화면에 그리는 방법과 TChart등과 같은 써드파티컴포넌트를 이용해서 그리는 방법이 있습니다.

    ^^ 항상 즐코하세요...