问题标签 [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.
precision - 使用泰勒级数避免精度损失
我正在尝试使用泰勒级数来开发一个数值合理的算法来解决一个函数。我已经有一段时间了,但还没有运气。我不确定我做错了什么。
功能是
另外:为什么这个函数甚至会出现精度损失?当 x 接近于零时,sin(x)/ln(1+x) 甚至不接近与 x 相同的数字。我看不出意义在哪里消失了。
为了解决这个问题,我相信我需要对 sin(x) 和 ln(1+x) 使用泰勒展开,它们是
和
分别。我曾尝试使用相似的分母来组合 x 和 sin(x)/ln(1+x) 分量,甚至将这三个分量组合起来,但最终似乎没有任何效果。任何帮助表示赞赏。
calculus - 在 Maple 中以编程方式使用泰勒多项式
我正在尝试在 Maple 中以编程方式使用泰勒多项式,但以下似乎不起作用...
以下所有方法也不起作用:
f:=convert(T[6], polynom);
f:=convert(T[6], polynom, x);
f:=x->convert(T[6], polynom);
f:=x->convert(T[6], polynom, x);
.
有没有一种方法可以做到这一点,而无需将 convert 的输出复制并粘贴到 的定义中f
?
assembly - 使用 68hc11 用汇编语言实现泰勒级数
如何使用 68hc11 实现泰勒级数以计算汇编中的正弦值。
由于 68hc11 不支持浮点,显示值将是整数..(例如乘以 100 得到整数值)。
macos - 任何(免费)工具来计算函数的泰勒级数展开?
经过痛苦的反复试验,我得到了一个怪诞的函数,它的行为方式符合我的期望:
我只关心范围 0 <= x <= 1 和 x = 1 处的斜率的值。在此区间内,0 <= y <= 1 也是如此。
是否有任何免费工具(基于 Web 或 MAC OS X)可以为此生成泰勒级数扩展?(我找到了一个,但它被如此复杂的公式窒息并且不支持 abs。)
我生成级数扩展的目的是计算起来可能更有效。(这个函数在 Javascript 中会被调用数十万次,所以性能是个问题。)
或者,如果我有曲线拟合工具,我可以对这些点进行采样并进行曲线拟合。(唉,我没有 MS Excel。)知道任何免费的非线性曲线拟合工具(基于 Web 或 MAC OS X)吗?
c - 为 Goldschmidt 部门选择好的初步估计
我在 Q22.10 中使用Goldschmidt 除法计算定点倒数,以用于我在 ARM 上的软件光栅化器。
这是通过将分子设置为 1 来完成的,即分子在第一次迭代时变为标量。老实说,我在这里有点盲目地遵循维基百科算法。文章说,如果分母在半开范围(0.5, 1.0] 内缩放,一个好的初步估计可以单独基于分母:设 F 为估计的标量,D 为分母,则 F = 2 - D.
但是这样做时,我会失去很多精度。假设我想找到 512.00002f 的倒数。为了缩小数字,我在小数部分损失了 10 位精度,将其移出。所以,我的问题是:
- 有没有办法选择一个不需要标准化的更好的估计?为什么?为什么不?为什么这可能或不可能的数学证明会很棒。
- 此外,是否可以预先计算第一个估计值,以便序列更快地收敛?现在,它平均在第 4 次迭代后收敛。在 ARM 上,这大约是 50 个周期的最坏情况,并且没有考虑 clz/bsr 的仿真,也没有考虑内存查找。如果可能的话,我想知道这样做是否会增加错误,以及增加多少。
这是我的测试用例。注意:第13行的软件实现clz
来自我的帖子here。如果需要,您可以将其替换为内在函数。clz
应该返回前导零的数量,32 表示值 0。
c# - 在 C# 中生成并使用泰勒多项式
我用 C# 编写了一个简单的图形实现,我可以通过将每个像素与其所代表的图形上的位置进行比较并将该位置插入到函数中来绘制事物,我必须查看它是否在曲线上。这一切都很好。
我遇到的问题是使用生成的泰勒多项式。例如,我可以通过以下方式创建以 c 为中心的超越函数 f 的第 n 个泰勒多项式
从 0 到 n 的总和,计数器变量为 k = ((f(c) 的第 k 个导数) * (xc)^k)/k!
我不知道如何在 stackoverflow 上做数学标记,我也不太擅长在网络上做这件事,但我希望这是可以理解的。左侧可以写成 sigma _k=0 ^n 或类似的东西,_ 代表 sigma 下的部分,^ 代表上面的部分...
所以我最终为 cos(x) 生成了一个 6 次的泰勒多项式,以 0(maclaurin,我知道) 为中心,看起来像
“1 - x^2/2!+ x^4/4!- x^6/6!”
这可以通过 C# 中的简单字符串操作来完成。我可以循环并将下一项添加到字符串中。
我真的无法理解我实际上如何能够将字符串用作函数来与图形位置进行比较,以查看该图形位置是否实际上在该图形上以便绘制它。所以本质上:我将如何在 C# 中使用字符串作为实际的数学函数,或者有更好的方法来做到这一点。
真的很抱歉,如果它令人困惑......真的尽我所能以人们可以提供帮助的方式解释它。
c - Maclaurin 级数的函数逼近
我需要大约 (1-x)^0.25 并具有给定的精度(例如 0.0001)。我正在使用Wikipedia 上的扩展(1+x)^0.25。当当前表达式小于精度时,我需要停止近似。
不要介意长双n。:P 当我不检查当前表达式的值但计算 1000 个或更多表达式时,这很有效。该函数的域是 <-1;1> 并且 s() 可以很好地计算 <-1;~0.6> 中 x 的近似值。参数越大,计算的误差越大。从 0.6 开始,它超过了准确度。
我不确定问题是否足够清楚,因为我不太了解英语数学语言。问题是 while 条件有什么问题以及为什么函数 s() 不能正确近似。
编辑: 问题基本解决了。当 x>0 时,我必须从 1 中减去连续表达式的绝对值。
在那之后准确性增加了很多(当然是狐狸x> 0)。冗余误差源于长期的双重误差。就这样。无论如何,谢谢你们。
c++ - EXP 到 Taylor 级数
我正在尝试将 exp(x) 函数扩展到泰勒级数。这是代码:
}
问题是当我输入大 X 或负 X 时,我的程序崩溃了。当我像“0.00000000001”一样输入X时,结果是-1。
需要建议。感谢帮助。
wolfram-mathematica - 使用mathematica的泰勒近似
对于家庭作业:
给定 Exp[x/3] 的泰勒展开式
写 y[x]= Summation( n>=0 ) ( (a subscript n) * x^n ) 。
求解最高 10 阶的系数(下标 n)。
string - 在 Mathematica 中将字符串转换为非法/不支持的表达式。
我需要var
像这样在 Mathematica 函数 Series[] 中输入一个变量,比如 : Series[A^2+B^2+C^2, var]
。Series[ ] 具有以下语法:
Series[f, {x, x_0, n}] 生成 f 关于点 x=x_0 到 n 阶的幂级数展开。
Series[f, {x, x_0, n}, {y, y_0, m}, ...] 依次找到关于 x、y 等的级数展开.
因为我并不总是在一个维度上计算 Series[ ](即,B
并不C
总是在每次迭代中都是变量),var
所以必须正确格式化以适应维度需求。需要注意的是,Mathematica 喜欢列表,因此任何退化的表都会有一组 external {}
。
假设我之前的代码生成了以下两组集合:
表[1]= {{A, 0, n}};
表[2]= {{A, 0, n}, {B, 0, m}}; .
我最好的想法是使用字符串操作(对于 i=2):
字符串 = ToString[table[i]]; .
str = StringReplacePart[string, {" ", " "}, {{1}, {StringLength[string], StringLength[string]}}]
下一步是通过doing转换str
为类似var
和do的表达式,但这会返回以下错误:Series[A^2 + B^2 + C^2, var]
var= ToExpression[str]
ToExpression::sntx: "{A, 0, n}, {B, 0, m}" 中或之前的语法无效。
$失败
帮助正确转换str
为表达式或提出另一种处理此问题的方法。