zoukankan      html  css  js  c++  java
  • 蒙塔卡洛模拟

    蒙塔卡洛模拟
    import java.util.Random;
    import java.util.Scanner;

    public class Demo {

        public static void function(float a, float b, int loop) {
              /**
              * 用于统计落入指定区域点的次数
              */
              int count = 0;
              /**
              * 随机点的横坐标
              */
              float x;
              /**
              * 随机点的纵坐标
              */
              float y;

              /**
              *
              * @param a
              *            矩形的长
              * @param b
              *            矩形的宽
              * @param loop
              *            循环次数
              */
              for (int i = 1; i <= loop; i++) {
                 Random random = new Random();
                  // 产生 -2/a 至 2/a之间的数字
                 x = random.nextFloat() * a - a / 2;
                  // 产生 -2/b 至 2/b之间的数字
                 y = random.nextFloat() * b - b / 2;
                  // System.out.println(x+" "+y);
                 if ((x > (-a / 2) && x < 0 && y > (-b / 2) && y < 0)
                          || (x > 0 && x < (a / 2) && y > 0 && y < (b / 2) - b * x
                                   / a)) {
                     count++;
                 }
             }
             System. out.println("射到目标区域的次数为: " + count);
             double result = count * 100 / loop;
             System. out.println("模拟概率为: " + result + "%");
        }

        public static void main(String[] args) {
             Scanner scan = new Scanner(System.in);
             System. out.println("请输入矩形的宽:" );
             float width = scan.nextFloat();
             System. out.println("请输入矩形的高:" );
             float height = scan.nextFloat();
             System. out.println("请输入模拟次数:" );
             int loop = scan.nextInt();
             function(width, height, loop);
        }
    }

    运行结果:





  • 相关阅读:
    滑动加载
    关于git的常用命令
    github相关指令学习
    jquery的contains方法
    vertical-align_CSS参考手册_web前端开发参考手册系列
    关于拜读张鑫旭文章,了解的新属性
    如何从GitHub仓库clone项目
    关于小窗滑动,父级body也跟随滑动的解决方案(2)
    vue父子组件传递参数之props
    JsExcelXml.js的源码
  • 原文地址:https://www.cnblogs.com/ZhangJinkun/p/f089dd061d135dbbf0da719d38004c82.html
Copyright © 2011-2022 走看看