计算直至小数点后五位的序列

标签 c floating-point

我想编写一个 C 程序来计算一系列:

1/x + 1/2*x^2 + 1/3*x^3 + 1/4*x^4 + ...

最多五位小数。

程序将采用x作为输入,并打印f(x)(系列值),最多可达小数点后五位。你能帮我吗?

最佳答案

对于评估多项式,霍纳形式通常比扩展形式具有更好的数值稳定性参见 http://reference.wolfram.com/legacy/v5/Add-onsLinks/StandardPackages/Algebra/Horner.html

如果第一项是拼写错误,请尝试 (((((1/4 )* x + 1/3) * x ) + 1/2) * x + 1) * x< br/> 否则,如果第一项确实是 1/x (((((1/4 )* x + 1/3) * x ) + 1/2) * x*x + 1/x

当然,您仍然需要分析 Eric Postpischil 答案中开发的收敛性和数值稳定性。

最后一件事,您作为示例提交的系列是否真的收敛到某个 x 的有限值???

关于计算直至小数点后五位的序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12156796/

相关文章:

c++ - uniform_real_distribution<float> 所有可能的值生成

binary - 十进制 float 与二进制的相互转换

c - 如何在 CMake 中导出包?

c - 为什么我不能将 ipv6 套接字绑定(bind)到链接本地地址

ruby-on-rails - Ruby BigDecimal 健全性检查( float newb)

c# - 在 C# 中获取数字部分值的最快方法是什么?

python - 使用 unicode 粗俗分数创建紧凑/人性化的 float

c - 如何在 R 包中调用 C 函数

C - 不打印出整个字符串

c - 如何与 C 预处理器连接两次并展开宏,如 "arg ## _ ## MACRO"中所示?