问题标签 [polynomial-math]
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.
algorithm - 给定一个系数向量和一个值,计算多项式的最快方法是什么?
我记得在某处读过(也许有人可以帮助记住在哪里),有一种方法可以最快地评估多项式。有些东西让我想起它与 Vietta 的公式有关,或者说 0 幂系数是多项式的任何因子的 0 幂系数的乘积。
我知道维基百科说这是霍纳评估最快的方案。但我记得您实际上根本不必以这种方式进行评估-它与根源有关吗?
我所知道的是,有一种评估多项式的方法,当你看到它时,它会给你一种“哦,这很聪明”的感觉,但这并不太难,而且很明显。
任何善良或聪明的人可以帮助我吗?
它类似于“您可以通过...在 x 处评估 P”,然后有一个非常简单的小东西实际上避免了必须按照多项式次数的顺序进行任何真正的加法和乘法运算。
java - 在 TreeMap 中存储多项式 --- 为什么?
我今天写了一篇试卷,是关于在 Java 中实现数据结构的大学课程。最后一个问题是这样的:
解释为什么使用 TreeMap<Integer, Integer> 来存储具有整数系数的多项式很方便,尤其是当多项式应该以标准格式打印为字符串时。
意识到这是一个错误,我仍然继续解释为什么我认为这不是一个好主意。相反,我主张使用简单的 int[] 数组,因为数组具有 O(1) 随机访问、O(n) 双向迭代,并且指针(引用)没有额外的内存占用。
假设我错了并且使用(排序的)TreeMap 有一些好处,任何人都可以向我解释这些好处吗?我的理由是,由于 Matlab、Octave、Maple 和其他经过充分测试的数值程序使用数组来存储多项式,所以不会全错。
java - 如何使用多项式而不是位来提高性能?
我有一个 128 位的字符串,我的主管要求我将这 128 位表示为多项式。这是他正在写的论文的扫描:
他的想法是,由于我们从这些位中消除了 0,我们将能够比处理所有位更快地执行下一个操作(其中大部分是位/多项式之间的异或)。
我了解要求是什么,我可以在纸上完成,也可以在申请中完成。但是我的方式不会达到他的目标,即提高性能。他实际上说已经有图书馆可以做到这一点,但不幸的是我找不到。我发现的唯一东西是一个计算多项式的多项式类,这不是我想要的。
那么你们知道我该如何实现它来提高性能吗?非常感谢任何代码/片段/文章。
该应用程序是用 Java 编写的,如果这有什么不同的话。
谢谢,
莫塔
更新:
我的主管说这个C 库将完成这项任务。我无法弄清楚它是如何工作的以及它将如何做到这一点。
c++ - C++ 三次样条轨迹
我正在编写一个 C++ 程序来为一组点生成三次样条轨迹。这些点不需要沿 x 轴排序。例如,它可能是一个圆圈等。
我在网上找到了一些库,例如 ALGLIB 库或这里的一个类https://www.marcusbannerman.co.uk/index.php/home/42-articles/96-cubic-spline-class.html,但所有这些库都对数据点进行排序。我不需要这个,因为我想要生成的是类似于圆圈的东西。有没有办法做到这一点?
iphone - 查找多边形的坐标
我有一个 4 边多边形的高度、宽度 1 和宽度 2。如何检测在该区域中单击了鼠标。
recursion - 用 Mathematica 实现插值多项式算法
我必须在 Mathematica 中实现这个算法:
我的问题是我不太了解 Mathematica 语法,因为那里没有很多有用的示例。我做了什么:
(我试图实现几何平均值但我失败了,因为我什至无法计算总和。)
如何正确实现递归?(几何平均值)
java - 如何在数学方程式中使用字母作为变量/占位符?
对不起,如果这个标题让你感到困惑,我很难在不解释的情况下问这个问题。我正在编写一个(相当)简单的程序来查找四次(双二次)函数的根。我的主要问题(我应该知道这个>.>)是如何让四次函数中的 x (ax^4 * bx^3 * cx^2 * dx * e = 0) 保持为 x 而不是价值。只是一个占位符。这是其中的一部分:( b1 * x * c1 / 2 ); 所以我不希望 x 被替换。我只是希望它保持为 x 并且它周围的所有其他东西都像你通常在手动解决问题时那样成倍增加。
我的第二个问题来自这个网站:
http://easycalculation.com/algebra/learn-quartic-equation.php
我们还没有在学校介绍过四次方,但是我们已经介绍了三次方和二次方,所以我知道的足够多,除了在谈到判别式之后,我大部分时间都可以学习。
y2=(- term1 + r13*cos(q3+(2∏)/3) )
y3=(- term1 + r13*cos(q3+(4∏)/3) )
我没有得到 2∏ 和 4∏ 的零件。如果您知道一种简单的解释方法,请执行 :D 如果没有,我可以随时查找并尝试从那里弄清楚。
还有我的最后一个问题。我知道二次方的判别式如何取决于一个根、没有根或两个根。这如何适用于四边形,我应该怎么做才能在我的代码中检查它(如果你认为我无法弄清楚,哈哈)。
嗯,我相信就是这样。如果需要,我可以添加信息。我认为不需要我的代码,但我不希望以任何方式发布它。
谢谢您的帮助。-瑞安
java - 从字符串转换为多项式
我正在用 Java 编写一个将使用多项式的程序。我需要能够根据用户输入的内容来表达多项式。
例如,用户可能输入以下字符串。" 2, -7, 8, 0, -1
"
这里的多项式是2 - 7 x + 8 x^2 - x^4
但这就是问题所在。我不能使用解析将字符串中的每个数字拆分为单独的整数,这太容易了!因为字符串中可以有任意数量的数字,所以这个例子有 5 个数字,另一个可能有 6 个,或者更少。
关于如何在 Java 中表达多项式的任何想法?
c - 将生成多项式转换为二进制数
我有一个生成多项式,它必须转换为二进制数才能在我的 CRC 代码中使用。例如,这些是正确转换的,我想知道它们是如何完成的。
这些用于 ROHC CRC 计算:
用于 3 位 CRC 的多项式为:C(x) = 1 + x + x^3
这是 0x06 用于 7 位 CRC 的多项式是: C(x) = 1 + x + x^2 + x^3 + x^6 + x^7
这是 0x79
想知道 0x06 和 0x79 是如何从这些方程推导出来的。
java - 从 Int 文本文件创建多项式。
我正在阅读 .txt 文件以创建多项式。我在实际打印多项式时遇到了麻烦(在它们被放入链接列表之后)。我不太确定如何“链接”链表和多项式方法......
文本文件:
代码:
期望的输出:
现在输出: