解决方案
不知道它的工作原理,但谷歌扔了的此代码来绘制一个高斯分布。
该项目的主页是这里。
如果短笛不为你进行绘图,我便叫使用的JFreeChart ,在实际绘图,因为它的广泛支持和非常能干。 (我不熟悉短笛)
其他提示
编辑:它看起来像 Apache的百科全书数学库具有统计部。具体而言,整体包上共同分布。但愿那里有一些数学的人在那里,因为我不记得基本的统计...这是我在使用他们的图书馆的尝试。我只是有一个滑动窗口在这里和计算这些值之间的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值,你可以从得到一个很简单2-d图。
你有没有下的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;
}
这应该是很容易实现即需要任意均值和标准差,如果一个人不能在网上找到。
不隶属于 StackOverflow