java 实现 高斯分布图 工具类
时间: 2024-05-01 22:16:01 浏览: 15
以下是一个简单的 Java 工具类,可以用来生成高斯分布图:
```java
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
public class GaussianDistribution {
public static BufferedImage generateGaussianDistribution(int width, int height, double mean, double variance) {
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics graphics = image.getGraphics();
double[] gaussianDistribution = new double[width];
double sum = 0;
for (int i = 0; i < width; i++) {
double x = (double) i / (double) (width - 1);
gaussianDistribution[i] = Math.exp(-0.5 * Math.pow((x - mean) / variance, 2));
sum += gaussianDistribution[i];
}
graphics.setColor(Color.WHITE);
graphics.fillRect(0, 0, width, height);
graphics.setColor(Color.BLACK);
for (int i = 0; i < width; i++) {
int h = (int) (gaussianDistribution[i] / sum * height);
graphics.drawLine(i, height, i, height - h);
}
return image;
}
}
```
这个工具类包含一个名为 `generateGaussianDistribution` 的静态方法,该方法接受四个参数:图像的宽度、高度、高斯分布的均值和方差。它将返回一个 `BufferedImage`,其中包含了生成的高斯分布图。
该方法首先计算了每个像素的高斯分布值,并将它们存储在一个数组中。然后,它使用这些值绘制了一个简单的黑白图像,其中白色表示零值,黑色表示最大值。最后,该方法返回生成的图像。
你可以使用以下代码来测试这个工具类:
```java
import javax.imageio.ImageIO;
import java.io.File;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedImage image = GaussianDistribution.generateGaussianDistribution(800, 400, 0.5, 0.1);
ImageIO.write(image, "png", new File("gaussian.png"));
}
}
```
这个程序将生成一个宽度为 800、高度为 400、均值为 0.5、方差为 0.1 的高斯分布图,并将其保存为 `gaussian.png` 文件。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)