![8c91230d42ec4147bb0eb9a6c15a76f2.png](https://i-blog.csdnimg.cn/blog_migrate/46b6e3fb558ac7a9ce785e72c62b1860.png)
![59e80eafbea2ee1c3d89077181c5b2a1.png](https://i-blog.csdnimg.cn/blog_migrate/b34213d6277b04f03e0e161ee1c51f9e.png)
今天,我们学习如何用台劳多项式来近似求解Sinx值。
台劳多项式求解公式如下:
sinx≈x/1-x^3/3!+x^5/5!-x^7/7!+...+(-1)^n-1/(2n-1)!
分析:
在本程序中,我们需要用到双重循环来解决。外循环将多项式中的各项逐项相加,内循环用来求各项的分子及分母。
在程序实现中,我们使用InputBox函数来将x,n值输入到程序中。
代码实现Private Sub Form_Click()Dim n As Integer, x As Single, y As Single, sign As IntegerDim Factor As Integer, Xpower As Singlex = InputBox("请输入x:")n = InputBox("请输入n:")y = x '多项式的第1项作为初值sign = 1 '设符号变量初值为+1For i = 2 To n '外循环从第2项开始累加,一直累加到第n项 Factor = 1 '积的初值设为1(用于求分母) Xpower = 1 '积的初值设为1(用于求分子) For j = 1 To 2 * i - 1 '内循环计算出多项式第i项的分子和分母 Factor = Factor * j '计算第i项的分母 Xpower = Xpower * x '计算第i项的分子 Next j sign = -sign '改变符号 y = y + sign * Xpower / Factor '外循环每执行一次累加一项Next iPrint "Sinx="; yEnd Sub
![c802aacf1bea6eb4d6c22696ccd24c13.gif](https://i-blog.csdnimg.cn/blog_migrate/c11c72d9adaf8f9570bf4629972fb073.gif)
长按上图,关注跟我学VB微信
提供VB编程的解答与二级VB的指导