实例说明
自然常数e,是数学中最重要的常数之一,是一个无限不循环小数,也是自然对数函数的底数,其值约为2.71828。它的一个经典的数学定义公式是:
使用计算机计算e的值时,可以使用下面的公式近似计算:
那么在LabVIEW中如何编程实现求解这个公式即e的值呢?
编程思路
从上面的近似公式可以看出,e的值与n的阶乘有关,可将上式分解为两个步骤:
- 求解n的阶乘:n!=1×2×3×......×(n-1)×n;
- 对n!求倒数,然后再累加求和
需要说明的是,上式是无穷多项式的累加,编程实现时不可能计算无穷多项的和,因此可限定有限项相加求和,限定的方法,可使用限定某一项的绝对值小于某个数,如小于10的-8次方(0.00000001)。
在LabVIEW中,对于第一步可编写一个子程序求解n的阶乘,然后在第二步中调用这个子程序计算e的值。下面对这两个步骤分别编程实现。
求解n的阶乘
根据阶乘公式,编写下图所示的程序框图,用以求解n的阶乘,将该程序存储为一子程序,该子程序输入一个整数值"n",输出其阶乘值"n!"。
在上面代码中,使用for循环,循环次数为n,在循环中添加一个移位寄存器用以存储乘积的值,其初始值为1,循环结束后,移位寄存器中的即为n的阶乘值。
计算自然常数e的值
编写主程序来调用上面的子程序,计算自然常数e的值,其框图程序的实现代码如下:
计算过程中,使用while循环,在循环中添加一移位寄存器用以存储累加项的和,其初始值设置为双精度即double类型的0。在循环内部对n的阶乘取倒数,即为求e公式中每一项的值,然后判断该值是否小于1E-8(即10的-8次方),若小于,则退出while循环,否则继续循环。循环结束后移位寄存器中的值即为常数e的值。
上面代码运行后即可得自然常数e的值为2.71828。
总结
通过这个例子可以学习到的知识点包括:
- while循环的编程
- 移位寄存器的用法
如果你觉得这篇文章对你有用的话,收藏+点赞吧。