VB:编一个函数过程Mysin(x)并求其近似值

xiaoxiao2021-02-28  68

题目来源:大工慕课 链接 原题:Visual Basic程序设计教程(第二版)龚沛曾主编,高等教育出版社 实验6-4 作者:Caleb Sung

题目要求

编一个函数过程Mysin(x),求

Mysin(x)=x1x33!+x55!x77!+ M y sin ⁡ ( x ) = x 1 − x 3 3 ! + x 5 5 ! − x 7 7 ! + ⋯

当第n项的精度小于10-5时结束,x为弧度;主调程序同时调用Mysin和内部函数sin,进行验证。

提示

关键是找部分级数和的通项,可如下表示: (吐槽:LaTex打公式可谓相当蛋疼……)

ti+2=(1)tixx(i+1)(i+2),i=1,3,5,7, t i + 2 = ( − 1 ) ⋅ t i ⋅ x ⋅ x ( i + 1 ) ( i + 2 ) , i = 1 , 3 , 5 , 7 , ⋯

参考代码

Dim x! Function MySin(x!) As Double Dim i%, t!, s! t = x s = t i = 1 Do While Abs(t) > 0.00001 t = -1 * t * x * x / ((i + 1) * (i + 2)) s = s + t i = i + 2 Loop MySin = s End Function Private Sub Command1_Click() x = Val(Text1.Text) Label4.Caption = Format(Sin(x), "0.000000") Label5.Caption = Format(MySin(x), "0.000000") End Sub

运行效果

转载请注明原文地址: https://www.6miu.com/read-2629497.html

最新回复(0)