使用泰勒级数来避免精度损失
我正在尝试使用泰勒系列来开发一个用于求解函数的数字声音算法。我已经有一段时间了,但还没有运气。我不确定我做错了什么。
功能是
f(x)=1 + x - sin(x)/ln(1+x) x~0
另外:为什么在这个功能中甚至会出现精度损失?当x接近零时,sin(x)/ ln(1 + x)甚至不接近与x相同的数字。我没有看到甚至丢失的重要性。
为了解决这个问题,我相信我需要使用泰勒展开sin(x)和ln(1 + x),这是
x - x^3/3! + x^5/5! - x^7/7! + ...
和
x - x^2/2 + x^3/3 - x^4/4 + ...
分别。我试图使用类似的分母来组合x和sin(x)/ ln(1 + x)组件,甚至将所有三个组合起来,但最终似乎没有任何结果正确。任何帮助表示赞赏。
没有找到相关结果
已邀请:
6 个回复
曝匿弄罚
,
也接近于0,所以你最后除以一个非常小的数字。电脑不是很擅长;-) 如果你将泰勒系列直接用于
,那将会是一种痛苦,因为你最终会被无限的一系列术语分开。对于这样的情况,我通常更喜欢从定义中为整个函数计算整个函数的泰勒级数:
从中得到
(我欺骗并将其插入Mathematica ;-)就像史蒂夫所说,这个系列并没有快速收敛,尽管我现在想不出更好的方法。 编辑:我想我误解了这个问题 - 如果你要做的就是找到函数的零,那么肯定比使用泰勒系列更好的方法。
孝箱捆讨
呕蹿尉
拭十年
栖很钾是狠
醒荒捆府绣