验算了一下,你这个题目的要求不合理。当限制收敛项的精度时,如果给出较大的弧度值,则结果的偏差很大,会出现余弦绝对值大于1的情况,这是不合理的。修正精度,限制级数项为80,则在x<24时有很好的正确值(在指定小数点后6位数的条件下),超过24,逐渐出错,但没第一种那么离谱。不过,VFP自身的库函数COS()不会出错。但是,在0-360度的范围内,本级数算法在n=10之内已经收敛到足够的精度(小数点后18位)。
按1楼的叙述,如果1E-6作精确到小数点后6位数理解的话,那是没意义的,因为这种精确度必须跟真值对比,能有真值,也不用这么算了,因此无法作那种理解。
作数学运算:令x=24,n=10,对最后一项,x^2n=4.02E27,20!=2.43E18,分子比分母大了9个数量级,说明这个级数的尾项不是递减的。
第一种算法,应该作修正:如果得到结果(绝对值)大于1,那么就多算一项,可能会有点效果。没时间了,你自己研究吧。
[ 本帖最后由 TonyDeng 于 2011-12-14 03:22 编辑 ]
按1楼的叙述,如果1E-6作精确到小数点后6位数理解的话,那是没意义的,因为这种精确度必须跟真值对比,能有真值,也不用这么算了,因此无法作那种理解。
作数学运算:令x=24,n=10,对最后一项,x^2n=4.02E27,20!=2.43E18,分子比分母大了9个数量级,说明这个级数的尾项不是递减的。
第一种算法,应该作修正:如果得到结果(绝对值)大于1,那么就多算一项,可能会有点效果。没时间了,你自己研究吧。
[ 本帖最后由 TonyDeng 于 2011-12-14 03:22 编辑 ]
授人以渔,不授人以鱼。