- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在使用 Decimal.js 来提高我的函数的精度,该函数通过反复试验计算 a = tan(a)
的第 m 个正根。它可以工作,但是对于 nTan(504)
(将返回 4.4934... 到 505 位)和更大,它会返回“超出精度限制”错误。
var Decimal = require("decimal.js");
var fs = require("fs");
function nTan (acc, m) {
var test = [1], acc = (parseInt(acc) || 15) + 1;
Decimal.set({precision: acc});
var n = new Decimal(fs.readFileSync("result.txt", "utf-8") || 4.4).toString();
while (n.length + test.length - 2 < acc) {
var dec = (new Decimal(n + test.join("")));
if (dec.tan().cmp(n + test.join("")) >= 0) {
test[test.length - 1]--;
test.push(1);
} else test[test.length - 1]++;
if (test[test.length - 1] == 10) { test[test.length - 1] = 9; test.push(1); }
}
return (new Decimal(n + test.slice(0, -1).join(""))).plus(Math.PI * (parseInt(m) || 0)).toString();
}
我的问题是:
最佳答案
1000000000 是 decimal.js 精度 设置的最大允许值,但这并不意味着三 Angular 函数可以返回具有该有效数字位数的结果。
三 Angular 函数的精度限制由源代码中Pi 值的精度决定。在decimal.js文件中硬编码为字符串变量PI
,精度为1025> 数字。
这意味着 cos
、sin
和 tan 的精度限制
方法最多约 1000 位,但实际数字取决于传递给它们的参数的精度。计算实际数字使用
maximum_result_precision = 1000 - argument_precision
例如,以下都可以正常工作
Decimal.set({precision: 991}).tan(123456789);
Decimal.set({precision: 9}).tan(991_digit_number);
对于每个结果精度加上参数精度,即 991 + 9
和 9 + 991
,小于或等于 1000。
这就是当您尝试计算超过 500 位的参数的 tan
时程序失败的原因超过 500 位。
要做到这一点,需要更高的精度 Pi - 这只能通过编辑 PI
的值来完成,而且可以简单地完成 在源代码中,即向其添加更多数字。这些方法所花费的时间将成为限制因素。
我是图书馆的作者,我需要将其添加到其文档中。
关于javascript - Decimal.js tan 的精度问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46744170/
我有两个数据框列“vibration_X”和“vibration_Y”。此外,我在某些列中几乎没有零值。我想创建新列“theta”,它是vibration_Y 和vibration_X 的tan 倒数
我知道我可以做到: //With A = tax(x); return tan(arctan(A)/2); 但我想要更高效的东西。 最佳答案 当 x 介于 -π/2 和 π/2 之间时,您可以使用此公
我正在尝试编写以弧度为单位计算角度 tan 的函数。我必须使用泰勒级数使用迭代来完成此操作,但仅限于前 13 个提名者和分母。公式如下: http://upload.wikimedia.org/mat
我正在尝试计算三点之间的角度,我需要使用 Tangent 函数 tan() .奇怪的是 VBA 返回错误的值。 例如: tan(209) = 0.554309051 但在 VBA 中: tan(209
这个问题已经有答案了: 已关闭 10 年前。 Possible Duplicate: tan 45 gives me 0.9999 当我使用tan时我得到了一个很长的答案: double degree
我遇到了一些代码问题,但找不到错误。我正在尝试计算下图中用红色标记的距离。 我的代码返回值:-41.63 正确值为:3.75 我的代码: return round(6.5 * tan(30),2);
我试着算出三角形的角。 如果三角形的一边是100,另一边是100。 我如何使它达到 45 度。 如果我在我的计算器上运行 tan-1(100/100),我得到 45。我如何在 PHP 中执行此操作?
如何在C++编程语言中从0度到360度打印sin,cos和tan的值? #include #include using namespace std; #define PI 3.14159265 i
好吧,我在我的一个游戏中为僵尸制作了一个人工智能,但是当我尝试旋转僵尸以便他面对玩家时,一切都变得一团糟。他们以错误的方式旋转,当我靠近时旋转,即使角度不应该改变。这是我的一些代码:ps 忽略 z,这
我想在 JS 中获取三 Angular 形的 Angular 。 计算对边/邻边后如何得到与正切的 Angular ? 最佳答案 degrees = Math.atan(a/b) * 180 / Ma
我目前正在为 Windows Phone 编写一个计算程序。计算之一是找到用户输入的数字乘以用户输入的另一个数字的正切值。 问题是,当我输入 1*tan(45)(即 1)时,它返回 1.6...。我通
我试图在 python 中计算 tan 的倒数,但它没有给我正确的值,例如,如果我要做 1.18 的倒数,math.atan(1.18) >>>math.atan(1.18) 0.8677 但是,正确
Tan 函数 返回某个角的正切值。 Tan(number) number 参数可以是任何将某个角表示为弧度的有效数值表达式。 说明 Tan 取某个角并返回直角三角形两个直角边的比值。此比值
如何在 iOS SDK 中计算 cos、sin、tan 等三角函数? 我尝试了 tan(45) 但它返回了错误的输出。有什么帮助吗? 最佳答案 大多数数学库使用 radians ,而不是度数。 关于i
import java.util.Scanner; public class a { /** * @param args */ public static void m
我正在测试一个程序,该程序读取数学输入,并根据运算顺序计算答案。我遇到了一个问题。计算 Math.PI/2 的正切时,返回值 1.633123935319537E16。 但是,在我的程序中的某个位置,
我正在使用此链接上的公式制作计算器: http://cereference.com/book/surveying-and-transportation-engineering/simple-curve
我一直在使用 Decimal.js 来提高我的函数的精度,该函数通过反复试验计算 a = tan(a) 的第 m 个正根。它可以工作,但是对于 nTan(504)(将返回 4.4934... 到 50
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭10 年前。 Improve th
我想返回一个值的棕褐色,该值是 35,但我得到的是 0.473815。但是这个值应该是 0.70020753...?为什么它给我 0.473815?我正在使用 tan(35)?我不明白为什么会这样说。
我是一名优秀的程序员,十分优秀!