첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

728x90
반응형
using System;
using System.Collections.Generic;

#region 정규 분포 정렬 리스트 구하기 - GetNormalDistributionSortedList(intervalList, average, standardDeviation)

/// <summary>
/// 정규 분포 정렬 리스트 구하기
/// </summary>
/// <param name="intervalList">구간 리스트</param>
/// <param name="average">평균</param>
/// <param name="standardDeviation">표준 편차</param>
/// <returns>정규 분포 정렬 리스트</returns>
public static SortedList<double, double> GetNormalDistributionSortedList(List<double> intervalList, double average, double standardDeviation)
{
    SortedList<double, double> normalDistributionSortedList = new SortedList<double, double>();

    if(intervalList == null || intervalList.Count == 0)
    {
        return normalDistributionSortedList;
    }

    foreach(double interval in intervalList)
    {
        normalDistributionSortedList.Add(interval, 0d);
    }

    double constantA = 1d / (standardDeviation * Math.Sqrt(2d * Math.PI));

    foreach(double interval in intervalList)
    {
        double normalDistribution = constantA * Math.Pow(Math.E, -0.5d * Math.Pow((interval - average) / standardDeviation, 2));

        normalDistributionSortedList[interval] = normalDistribution;
    }

    return normalDistributionSortedList;
}

#endregion
728x90
반응형
Posted by 사용자 icodebroker
TAG , ,

댓글을 달아 주세요