分享

博途SCL趣味编程:随机数法计算圆周率

 工控库吧 2021-12-08

 轻松学TIA博途SCL编程之程序初始化

 轻松学TIA博途SCL编程之变量改变统计

 秒懂S7-1500PLC读写SQL微软数据库

1. 编程要求与名词解释:

随机投点法(随机数法或蒙特卡洛法)计算圆周率。蒙特卡洛是一个地名,位于赌城摩纳哥,象征概率。蒙特卡洛(Monte Carlo)方法是由大名鼎鼎的数学家冯·诺伊曼提出的,诞生于上世纪40年代美国的“曼哈顿计划”。原理是通过大量随机样本,去了解一个系统,进而得到所要计算的值。

2. 问题分析与算法设计:

一个正方形内部相切一个圆,圆和正方形的面积之比是π/4。在这个正方形内部,随机产生n个点(这些点服从均匀分布),计算它们与中心点的距离是否大于圆的半径,以此判断是否落在圆的内部。统计圆内的点数,与n的比值乘以4,就是π的值。理论上,n越大,计算的π值越准。

3. 定义变量。如下图:

为了提高计算精度,数据类型选择LReal。

4. 编写程序。如下图:

该方法得到的圆周率精度与投入的点的个数有关,一般个数越多精度越高。

5. 功能测试。如下图:

计算结果π为一个动态值。

6. 学习要点与知识总结:

学习IF…ELSE条件语句;

学习FOR循环语句;

学习组合赋值运算符的使用;

注意浮点数精度问题。

(成都瑞途电子有限公司 刘立峰<技术总监>》撰稿)



大家都在看




【视频】德国工程师是如何制作PLC柜的?

【视频】PROFINET为何比PROFIBUS更牛?

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多