자바에서 가우스 곡선을 그립니다
해결책
그것이 작동하는지 모르겠지만 Google은 던졌습니다. 이 코드는 가우스 분포를 플로팅합니다.
이 프로젝트의 홈페이지는 다음과 같습니다 여기.
Piccolo가 당신을 위해 플로팅을 수행하지 않으면 아마도 사용할 것입니다. JFREECHART 실제 플로팅의 경우 널리 지원되고 매우 유능하기 때문입니다. (나는 피콜로에 익숙하지 않다)
다른 팁
편집 :처럼 보입니다 아파치 커먼즈 수학 도서관 통계 섹션이 있습니다. 구체적으로, 공통의 전체 패키지 분포. 기본 통계를 기억할 수 없기 때문에 수학 사람들이 있기를 바랍니다. 여기 라이브러리를 사용하려는 시도가 있습니다. 나는 여기에 슬라이딩 창이 있고 그 값 사이의 p를 계산합니다. 이것으로부터 PDF를 얻는 진짜 방법은 무엇입니까? 그들은 CDF 기능 만 가지고 있습니다.
public void testNormalDist() throws MathException {
DistributionFactory f = DistributionFactory.newInstance();
NormalDistribution n = f.createNormalDistribution(0.0d, 1.0d);
double lastx = Double.NEGATIVE_INFINITY;
double nextx = Double.NEGATIVE_INFINITY;
for (int i=-100; i < 100; i++) {
nextx = i / 100d;
System.out.println(n.cumulativeProbability(lastx, nextx));
lastx = nextx;
}
}
그래프의 확률 밀도 함수를 원한다고 가정합니다. 그만큼 방정식은 위키 백과에 있습니다, 나는 여기에 수학 마크 업을 포함시키는 방법을 모르기 때문에. p (x)를 y 값으로 사용하고 x를 x 값으로 사용하면 2D 그래프를 쉽게 얻을 수 있습니다.
당신은 보셨습니까? Java의 Mathtools?
좋아요, 이건 어때요 ... X 포인트 배열을 제공합니다 (물론 각 픽셀 위치를 이미지 너비로 나누어 X 픽셀을 변환 할 수 있음). 분포 곡선 (다시 정규화 계수를 곱). 이것은 평균 0이고 표준 편차가 1 인 기본 경우입니다.
public double[] normalDistBasic(double[] xarray, double mu) {
double[] yarray = new double[xarray.length];
double rad2pi = 2.50662827d;
for (int off = 0; off < yarray.length; off++) {
double x = xarray[off];
double ss = -1d * x * x / 2d;
yarray[off] = (-1f / rad2pi) * Math.exp(ss);
}
return yarray;
}
인터넷에서 찾을 수없는 경우 임의의 평균 및 표준 편차를 취하는 것을 구현하는 것은 매우 쉽습니다.