分享

LabVIEW编程实例:如何求解自然常数e

 lgk88888 2019-01-06

实例说明

自然常数e,是数学中最重要的常数之一,是一个无限不循环小数,也是自然对数函数的底数,其值约为2.71828。它的一个经典的数学定义公式是:

028-1

使用计算机计算e的值时,可以使用下面的公式近似计算:

028-2

那么在LabVIEW中如何编程实现求解这个公式即e的值呢?

编程思路

从上面的近似公式可以看出,e的值与n的阶乘有关,可将上式分解为两个步骤:

l  求解n的阶乘:n!=1×2×3×......×(n-1)×n

l  n!求倒数,然后再累加求和

需要说明的是,上式是无穷多项式的累加,编程实现时不可能计算无穷多项的和,因此可限定有限项相加求和,限定的方法,可使用限定某一项的绝对值小于某个数,如小于10-8次方(0.00000001)。

LabVIEW中,对于第一步可编写一个子程序求解n的阶乘,然后在第二步中调用这个子程序计算e的值。下面对这两个步骤分别编程实现。

求解n的阶乘

根据阶乘公式,编写下图所示的程序框图,用以求解n的阶乘,将该程序存储为一子程序,该子程序输入一个整数值“n”,输出其阶乘值“n!”。

028-3

在上面代码中,使用for循环,循环次数为n,在循环中添加一个移位寄存器用以存储乘积的值,其初始值为1,循环结束后,移位寄存器中的即为n的阶乘值。

计算自然常数e的值

编写主程序来调用上面的子程序,计算自然常数e的值,其框图程序的实现代码如下:

028-4

计算过程中,使用while循环,在循环中添加一移位寄存器用以存储累加项的和,其初始值设置为双精度即double类型的0。在循环内部对n的阶乘取倒数,即为求e公式中每一项的值,然后判断该值是否小于1E-8(即10-8次方),若小于,则退出while循环,否则继续循环。循环结束后移位寄存器中的值即为常数e的值。

上面代码运行后即可得自然常数e的值为2.71828

总结

通过这个例子可以学习到的知识点包括:

l  while循环的编程

l  移位寄存器的用法

 

如果你觉得这篇文章对你有用的话,收藏+点赞吧。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多