画正态分布图的流程
为了教会小白如何画正态分布图,我们可以按照以下步骤进行:
步骤 | 代码 | 功能 |
---|---|---|
步骤1 | import java.awt.*; |
导入AWT库 |
步骤2 | import javax.swing.*; |
导入Swing库 |
步骤3 | public class NormalDistributionGraph extends JFrame { |
创建一个名为NormalDistributionGraph的类,继承JFrame类 |
步骤4 | public NormalDistributionGraph() { |
创建NormalDistributionGraph类的构造函数 |
步骤5 | double mean = 0; |
创建一个double类型的变量mean,表示正态分布的均值 |
步骤6 | double standardDeviation = 1; |
创建一个double类型的变量standardDeviation,表示正态分布的标准差 |
步骤7 | setTitle("Normal Distribution Graph"); |
设置窗口标题为"Normal Distribution Graph" |
步骤8 | setSize(800, 600); |
设置窗口的大小为800x600像素 |
步骤9 | setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); |
设置当窗口关闭时结束程序的运行 |
步骤10 | setVisible(true); |
设置窗口可见 |
步骤11 | } |
结束构造函数 |
步骤12 | public void paint(Graphics g) { |
创建一个名为paint的方法,重写父类的paint方法 |
步骤13 | super.paint(g); |
调用父类的paint方法 |
步骤14 | Graphics2D g2d = (Graphics2D) g; |
创建一个Graphics2D对象g2d,将g对象转换为Graphics2D类型 |
步骤15 | int width = getWidth(); |
获取窗口的宽度 |
步骤16 | int height = getHeight(); |
获取窗口的高度 |
步骤17 | g2d.setColor(Color.BLACK); |
设置画笔颜色为黑色 |
步骤18 | g2d.setStroke(new BasicStroke(2)); |
设置画笔的粗细为2个像素 |
步骤19 | for (int i = 0; i < width; i++) { |
创建一个循环,从0遍历到窗口的宽度 |
步骤20 | double x = (double) i / width; |
将i转换为double类型,并除以窗口的宽度,得到x坐标的比例 |
步骤21 | double y = calculateProbability(x, mean, standardDeviation); |
调用calculateProbability方法,计算对应x坐标的概率密度值 |
步骤22 | int j = (int) (y * height); |
将y乘以窗口的高度,得到y坐标 |
步骤23 | g2d.drawLine(i, height - j, i, height - j); |
画一条从(i, height - j)到(i, height - j)的线段 |
步骤24 | } |
结束循环 |
步骤25 | } |
结束paint方法 |
步骤26 | public static double calculateProbability(double x, double mean, double standardDeviation) { |
创建一个名为calculateProbability的静态方法,返回一个double类型的值 |
步骤27 | double exponent = -(Math.pow(x - mean, 2) / (2 * Math.pow(standardDeviation, 2))); |
计算指数部分的值 |
步骤28 | double probability = (1 / (Math.sqrt(2 * Math.PI) * standardDeviation)) * Math.exp(exponent); |
计算概率密度值 |
步骤29 | return probability; |
返回概率密度值 |
步骤30 | } |
结束calculateProbability方法 |
步骤31 | public static void main(String[] args) { |
创建一个名为main的静态方法,作为程序的入口 |
步骤32 | `NormalDistributionGraph graph = |