栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

基于Java语言计算PI(π)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于Java语言计算PI(π)

基于Java语言计算PI(π) 关于作者
  • 作者介绍

 博客主页:作者主页

 简介:JAVA领域优质创作者磊、一名在校大三学生、在校期间参加各种省赛、国赛,斩获一系列荣誉。

 关注我:关注我学习资料、文档下载统统都有,每日定时更新文章,励志做一名JAVA资深程序猿‍。

划分网格计算π

1.转换扩展法。如果是曲面,而且形状比较规则,可以用转化扩展法。转化扩展法是由节点开始,扩展成线单元,然后扩展成平面的二维单元,然后扩展成三维单元。这样生成的网格质量比较高、速度比较快,不仅可以生成三维网格,也可以生成一维网格和二维网格,还可以进行移动、镜像、拉升、旋转等操作;扫描三维实体的扩展方式、扩展系数和扩展方向,具有灵活、可多方面调整的优势。

2.Delaunay三角形法。如果是由一条封闭曲线围成的连通领域(单连通领域或多连通领域),可以采用Delaunay三角形法。这种方法用等边三角形进行离散,既能照顾到计算对象的细微几何特征,又能照顾到仅需稀疏单元网格之处。Delaunay三角形法适合做局部最优化处理。

3.覆盖法。如果计算对象是完整裁切曲面,且边界为裁剪曲线,可以采用覆盖法。覆盖法主要采用四边形单元进行网格划分。

4.前沿法。前沿法适合划分曲面,四边形单元和三角形单元都可以采用。主要通过把曲面等参变换到二维空间,然后把二维空间映射到三维空间来实现。


该方法类似著名的蒙特卡罗法,不同的是将正方形分成n2个小正方形,统计落在内接圆内的小正方形个数占所有正方形的比例,利用四分之一个圆来研究,看落入其中的小正方形有多少个,并计算概率,再用概率反推π的值,即π=4N/n2 (N表示落入单位圆内小正方形的个数)。

代码部分
package com.zmz.countPI;


public class RandomPI {
    public static double rand_pi(int n) {
        int numInCircle = 0;
        double x, y;
        double pi;
        for(int i=0;i < n; i++){
            x = Math.random();
            y = Math.random();
            if(x * x + y * y < 1)
                numInCircle++;
        }
        pi = (4.0 * numInCircle) / n;
        return pi;
    }

    public static void main(String[] args) {
        System.out.println(rand_pi(10));  //改变参数值
        System.out.println(rand_pi(100));  //改变参数值
        System.out.println(rand_pi(1000));  //改变参数值
        System.out.println(rand_pi(10000));  //改变参数值
        System.out.println(rand_pi(100000));  //改变参数值
        System.out.println(rand_pi(1000000));  //改变参数值
        System.out.println(rand_pi(10000000));  //改变参数值
        System.out.println(rand_pi(100000000));  //改变参数值
        System.out.println(rand_pi(1000000000));  //改变参数值
    }
}
测试结果:
次数10102103104105106107108109
估计值3.163.14160000000000043.1415483.14159052000000033.14159254559999963.14159264962399963.141592653505883.14159265358680353.141592654036897

可以看出来,该方法投入点的个数越大,越接近真实值。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/344807.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号