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);
        }
    }

    运行结果:





  • 相关阅读:
    Js 内存泄露追踪
    [导入]关于在ashx页面中使用Session的问题
    [导入]通过SQL语句删除重复记录
    javascript也玩pageLoad
    判断是否首次触发pageLoad 与 PageRequestManager.getInstance()对象的几个事件触发顺序
    ASP.NET Web下基于Forms的验证
    [导入]用程序来还原数据库(一个遗留了两年的问题)
    [导入]自己编写QQ挂机软件基于HTTP的QQ协议之我所见
    iis 中后台调用exe文件
    ORA12154: TNS:could not resolve the connect identifier spec
  • 原文地址:https://www.cnblogs.com/ZhangJinkun/p/f089dd061d135dbbf0da719d38004c82.html
Copyright © 2011-2022 走看看