小编Big*_*D4J的帖子

Python:使用泰勒级数逼近 ln(x)

我正在尝试建立 ln(1.9) 的近似值,精度在十位数字之内(即 .641853861)。

我正在使用一个从 ln[(1 + x)/(1 - x)] 构建的简单函数

到目前为止,这是我的代码:

# function for ln[(1 + x)/(1 - x)]

def taylor_two(r, n):
    x = 0.9 / 2.9
    i = 1
    taySum = 0
    while i <= n:
        taySum += (pow(x,i))/(i)
        i += 2
    return 2 * taySum

print taylor_two(x, 12)

print taylor_two(x, 17)
Run Code Online (Sandbox Code Playgroud)

我现在需要做的是重新格式化它,以便它告诉我将 ln(1.9) 近似为上述 10 位数字所需的项数,让它显示级数给出的值,并显示错误。

我假设我需要以某种方式将我的函数构建到 for 循环中,但是如何让它在达到所需的 10 位数字后停止迭代?

感谢您的帮助!

python taylor-series numerical-integration

3
推荐指数
1
解决办法
5119
查看次数

Machine Epsilon:MatLab vs Maple

我正在学习单精度和双精度的机器epsilon,并比较不同程序的值.例如,在matlab中使用以下代码:

>> format long
>> eps
Run Code Online (Sandbox Code Playgroud)

给出2.220446049250313e-16.但是Maple中的以下代码:

> readlib(Maple_floats);
> evalhf(DBL_EPSILON);
> quit;
Run Code Online (Sandbox Code Playgroud)

给出-15 .2220446049250314 10(其中-15是指数).

两个程序之间的输出略有不同.Maple似乎从3到4向上舍入.这种差异的原因是什么?

matlab scientific-computing numerical-methods maple

2
推荐指数
1
解决办法
437
查看次数