问题标签 [taylor-series]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
677 浏览

java - 正弦的多项式近似中的这些系数是如何确定的?

背景:我正在用 Java 编写一些几何软件。我需要 Java 的 BigDecimal 类提供的精度。由于 BigDecimal 不支持三角函数,我想我会看看 Java 如何实现标准数学库方法并编写我自己的支持 BigDecimal 的版本。

阅读这个JavaDoc,我了解到Java使用算法“来自著名的网络库netlib作为包”Freely Distributable Math Library”fdlibm。这些算法是用C编程语言编写的,然后被理解为执行所有浮点运算都遵循 Java 浮点运算规则。”

我的问题:我查找了 fblibm 的 sin 函数k_sin.c,看起来他们使用 13 阶的泰勒级数来近似正弦(编辑 - njuffa 评论说 fdlibm 使用极小多项式近似)。该代码将多项式的系数定义为 S1 到 S6。我决定检查这些系数的值,发现 S6 只对一位有效数字是正确的!我希望它是 1/(13!),Windows Calculator 和Google Calc告诉我的是 1.6059044...e-10,而不是 1.58969099521155010221e-10(这是代码中 S6 的值)。甚至 S5 的第五位数字也与 1/(11!) 不同。有人可以解释这种差异吗?具体来说,这些系数(S1 到 S6)是如何确定的?

0 投票
2 回答
1958 浏览

haskell - 试图在 Haskell 中做一个 pi 近似值

好的,所以我试图根据您提供给函数的泰勒展开式中的项数来近似 pi。但是我得到了很多错误,最后一个是无法推断实例:

这是我的代码:

0 投票
1 回答
2845 浏览

assembly - MIPS 组装中的泰勒级数

我正在尝试计算泰勒级数

1 + x + x 2 / 2!+ x 3 / 3!+ ... + x 10 / 10!。

我的程序每次都给我无限,我对 MIPS 是全新的。我只关心介于 0 和 10 之间的输入,包括 0 和 10。我们停在x n / n!n = 10 时。这是我想出的:

0 投票
1 回答
1220 浏览

verilog - 使用泰勒级数近似计算 cosx 的 Verilog 代码

我正在尝试使用泰勒级数在 Verilog 中实现 COS X 函数。呈现给我的问题陈述如下

“编写一个 Verilog 代码以使用泰勒级数近似计算 cosX。请附上 8 位输出的源代码和测试台代码,以有符号十进制格式表示 X = 0° 到 360°,增量为 10°”

在继续之前,我需要了解一些事情。如果我在某个地方错了,请纠正我

分辨率计算:以 10° 为增量覆盖 0° 到 360° => 36 个位置

十进制的 36 可以用 6 位表示。由于我们可以使用 6 位,因此使用 64 个字的分辨率会稍好一些。64 个字代表 0° 到 360°,因此每个字代表 5.625° 的分辨率,即所有的 Cos 值从 0° 到 360°,增量为 5.625°。因此分辨率为 5.625°

泰勒级数计算 cos 的泰勒级数由泰勒级数的 Cos x 近似给出

我有几个疑问

1)虽然使用乘数很容易生成 X*X(X 平方)或 X 立方项,但我不确定如何处理在计算 X 平方或 X 立方项期间生成的额外位。输出仅为 8 位

例如 X=6 位;X平方=12位;X 立方体 = 18 位。

我是否无论如何都会生成它们,然后通过只考虑整个结果的 MSB 8 位来忽略它们?......这样的cos波会很糟糕吗?

2)我不确定如何在泰勒级数开始时处理 +1 加法 ...COS X = 1 - (X^2/2!) + (X^4/4!) .... 我要加吗直接二进制 1 还是我必须将 1 缩放为 2^8 = 255 或 2^6 = 64,因为我在输入端使用 6 位,输出端使用 8 位

0 投票
1 回答
809 浏览

python - 如何在不使用数学模块的情况下在 python 3.5 中计算泰勒级数和刘易斯卡罗尔除法测试

正如标题所说,我需要在不使用 Python 3.5 中的数学模块的情况下找到泰勒级数以及编写除法测试程序。我会在一张纸上做数学,但实际上我在学校从来没有教过这些东西,所以老实说,我完全不知道如何在纸上做这些事情。我已经完成了相当多的工作,但我需要一些帮助才能完成它。我有一个朋友教我有关用于编程的算法,所以我现在对此有所了解。请参阅我遇到的主要编程问题的非常长的评论。

对于泰勒级数:在计算e^x/sin x/cos x 的值时,您的程序应该继续添加幂级数的项,直到它达到一个绝对值小于乘10^-15以前项总和的绝对值的项。

公式:

e^x = 1 + x + x^2/2! + x^3/3! + ...

因为 x = 1- x^2/2! + x^4/4! - x6^/6! …"></p> <p><img src=

如果 n 是正整数:n! = nx( n-1) x (n-2) x…x 3 x 2 x 1

对于 Lewis Carrol 整除性检验:

  • 只要数字多于一位,就可以通过删除个位并从结果数字中减去该数字来缩短它。

  • 当且仅当最终数字等于 0 时,原始数字可以被 11 整除

代码:

样本输出:

0 投票
1 回答
118 浏览

math - 以度为单位计算角度的三角函数

所以我在网上找到了用于计算三角函数的 taylor 系列,但据我所知,这仅适用于弧度,有没有办法创建一个类似的公式并对其进行编程以计算角度的三角而不将弧度转换为度?

0 投票
2 回答
235 浏览

java - 使用java进行maclaurin系列arccos计算有什么问题?

我正在使用 mclaurins 系列来计算 arccos(x^2-1) 但是当我将它与 math.acos 的结果进行比较时,它会有所不同。这是我的代码:

编辑:计算在 maclaurin 函数中的新代码,我从主函数中调用它。对除前 3 个值外的所有值都有效:maclaurin 包;

0 投票
2 回答
441 浏览

java - 坚持用 Java 计算指数(泰勒级数)

我有点难过。我正在处理一个作业问题,要求您通过一系列 30 次迭代找到 e^x 1 + x + x^2/2! ... x^n/n!:. 在这种情况下n = 30,范围x是 -3 到 3。看起来很简单。但是,当尝试在 Java 中执行它时,我发现我很困惑。

当时的想法是运行两个 for 循环。的迭代的外循环和迭代x的内循环n。这是到目前为止的代码:

任何建议将不胜感激。

0 投票
2 回答
1541 浏览

python - 使用泰勒级数加速计算

在数学中,泰勒级数对于获得函数的近似值很重要,具有小次数的多项式。

我想看看这样的近似是如何有帮助的,例如为了加快计算速度。让我们使用著名的泰勒级数:

从道德上讲,计算 2 次多项式的值应该比计算 a 快得多log

因此有一个代码来测试这个:

为什么多项式方法比实际对数慢 10 倍?我的预期正好相反。

PS:这个问题大概在SO和math.SE中间。

0 投票
1 回答
90 浏览

c - mypow() 通过连分数和 taylorseries 返回比 pow() 更大的数字

这是我对泰勒系列日志的功能,它可以正常工作。我使用这个公式来获得数字的指数函数。mypow() 的公式 ,这是我的 pow 代码

现在我的问题是,如果我为我的函数放置例如 30 次迭代,则数字高于 pow()。例如 pow(2,3) = 8 ,我的 20 次迭代的结果是 8.0007 ......并且它还在增长。感谢所有回复。