问题标签 [mathjs]

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 回答
231 浏览

javascript - 用替换的变量打印 mathjs 表达式

有没有办法在范围替换后打印表达式字符串?

0 投票
0 回答
51 浏览

javascript - 如何用一些默认值替换范围中缺少的变量?

我正在使用 mathjs 从 JSON 数据中计算一些表达式。我调用 eval,将 JSON 数据作为范围传递。我可以在 mathjs 脚本中使用 JSON 路径,例如 user1.age > user2.age。但是当 JSON 中不包含这些路径时,mathjs 会抛出错误。

如果符号为空,我可以在 mathjs 脚本中轻松检查它。但是如果它是未定义的,我就不能这样做,因为 mathjs 会抛出错误,而不是将其评估为未定义。

对于以下输入,此脚本的计算结果为 42 -

但为此引发错误“错误:未定义的符号” -

尝试遍历表达式树,并将所有缺少的符号添加到 JSON 数据中,然后将其传递给 eval。 https://mathjs.org/examples/advanced/expression_trees.js.html 但是有没有更好的方法来处理自定义符号?

0 投票
0 回答
515 浏览

typescript - mathjs 数字只有打字稿?

我正在尝试在打字稿项目中使用 mathjs。我想使用“仅数字”部分(避免 BigNumbers 和 Fractions)。我已经完成了yarn add mathjsyarn add @types/mathjs

在我的代码中,我尝试像这样导入它:

但我收到一个打字稿错误:Could not find a declaration file for module 'mathjs/number'

我可以,import * as math from 'mathjs'但是BigNumber当我使用它时,我会到处弹出。有人知道如何像这样使用它吗?

0 投票
1 回答
373 浏览

javascript - math.js Uncaught TypeError: v is not a function with p5

I hate that I'm asking this question but I've been through every single stack overflow post tagged with or and a whole load of posts with "x is not a function" but none of them are relevant or helpful. Here is the full stack trace I get in Google Chrome:

Notice how none of the error points to my code, and I get the same exact error if I try to call any math methods in the console.

I'm using p5.js just to make a little interactive thing for my website and I need the expression parsing functionality of math.js.

Here's my html file:

The "please no changes" lines were there when the Processing editor generated the original html file, and I haven't messed with it. And here the code that calls on the math.js library, although at this point I'm convinced it's irrelevant:

Also if I go to the lines in math.js referenced in the traceback there is no method call or even variable name of v so I'm not sure what's going on. Any help is appreciated, I want to put this silly error behind me.

0 投票
3 回答
2480 浏览

javascript - 不和谐机器人的NodeJS错误:UnhandledPromiseRejectionWarning:DiscordAPIError:无法发送空消息

所以我正在尝试制作一个通过命令为我快速计算数学的机器人。我的前缀是da$h,命令是付款。例如,当我尝试该命令da$h payment 1 + 1时,每次都会遇到相同的错误。我正在使用mathjs节点顺便说一句。

我尝试将 await 放在发送函数之前,并将 async 放在所有返回函数的前面,但我得到了同样的错误。

这是我不断收到的错误:

节点:18876)UnhandledPromiseRejectionWarning:DiscordAPIError:无法在 item.request.gen.end 发送空消息(C:\Users\Admin\Desktop\coding\node_modules\Discord.js\src\client\rest\RequestHandlers\Sequential.js :71:65) 然后 (C:\Users\Admin\Desktop\coding\node_modules\snekfetch\src\index.js:204:21) 在 process._tickCallback (internal/process/next_tick.js:68:7) (节点:18876)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。(拒绝 ID:2)(节点:18876)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。

0 投票
0 回答
201 浏览

javascript - 如何解决 math.js 中的未知数?

我发现 math.js 没有求解未知方程的函数,如下面的方程
var eq = (2.75501+x*0.0013016)+(1.89908+x*-0.0006573)-5 = 0

当我尝试简化

它给了我: 6.443e-4 * x - 0.34590999999999994
其中 e 我不希望
我希望数字为 0.00006443
我尝试过像 algebra.js 这样的库,但它无法像上面一样用 e 解决

0 投票
2 回答
211 浏览

javascript - Mathjs'全局配置是只读的'?

我正在使用 Angular 8 和 math.js 库进行大数字操作。

我刚刚更新了从 5.4.0 到 6.2.3 的 math.js 版本。

我以这种方式在我的组件中使用 math.js:

更新后突然出现新错误。

错误:全局配置是只读的。如果要更改默认配置,请创建一个 mathjs 实例。例子:

从'mathjs'导入{创建,全部};
const mathjs = 创建(全部);

mathjs.config({ number: 'BigNumber' });

我试过import { create, all } from 'mathjs了,但那些方法根本不存在。

这个问题的解决方法是什么?

0 投票
0 回答
31 浏览

parsing - 数学:是否可以遍历节点树并使用 RPN 对其进行解析?

我正在解决一个需要解析字符串数学方程并使用 RPN 来解决它的问题。

是否可以像这样从另一个库中获取标记化步骤和节点树: https ://mathjs.org/docs/reference/functions/parse.html

并遍历节点树并用RPN解决它?

我使用 RPN 的原因是因为我正在做一些花哨的东西,其中包含我似乎无法用常规中缀符号计算出来的百分比。

0 投票
1 回答
60 浏览

mathjs - Mathjs - 声明变量和使用范围

如何范围变量以在同一范围内具有与其他变量的表达式?我试过这个,但它不起作用。然后我希望c to equal b + 2能够获得范围内任何变量的结果。

0 投票
0 回答
62 浏览

javascript - 如何使用用户定义的计算处理 Javascript 中的小数

我正在尝试提出一种解决方案,以避免在我的应用程序中进行计算时出现小数错误。我已经看到了一些解决方案,但仍有疑问。我的理解是浮点数不能准确地存储在 Javascript 中,当数字应该为 0 时,数字在其轨迹中得到一个非 0 数字。顽皮的数字,或者不是顽皮的数字 :) 无论如何......

第一个问题,解决方案是不允许数字在任何数字中具有 > x 十进制数字,因为 Javascript 无法处理它?限制精度。

下一个问题,我必须像这样计算字符串:'2 + 2 + 3 * 0.1 + 0.2 * 10^5'如何确保它得到准确的结果?我只是打算使用 Mathjs,但它不会避免浮点数出错,计算会出错,不是吗?有一些解决方案使用舍入来修剪尾随数字,但我该怎么做呢?我必须编写自己的计算器来对每对数字进行四舍五入吗?

如何确定可接受的小数位数?我猜应用程序的类型很重要,对于大多数计算来说,10 位十进制数字就足够了,例如。金融?计算器在计算时使用多少位数字,只是您在屏幕上可以看到的数字吗?

下一个问题,如果 Javascript 将数字变成他们不应该的数字,为什么 Javascript 不限制十进制数字的数量?看起来像 1 + 1 = 2 ......对不起,它没有。这很令人困惑。