问题标签 [polynomials]

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 投票
2 回答
385 浏览

matlab - matlab优化工具箱——多项式拟合

我有一组 x 和 y 值,我想在其周围拟合多项式曲线。该函数应采用最多 9 阶多项式的形式;

其中 a(n) 是我的系数。

我有两个问题。该曲线可能并不总是采用 9 阶多项式的形式。它可能是 3 阶、6 阶或其他(最多 9 阶)。

我不确定如何使用优化工具箱进行设置。有任何想法吗?

其次,我可以设置一个约束以使计算的 y 值始终为正值吗?

非常感谢,

当前代码如下。

功能;

0 投票
2 回答
457 浏览

algorithm - 符号计算来自内维尔算法的多项式

我正在研究依赖于计算多项式插值的内维尔算法。有关它的更多信息,您可以在http://en.wikipedia.org/wiki/Neville%27s_algorithm找到。在某些时候计算多项式对我来说不是问题。有很多关于它的来源。我的问题依赖于我不想在某些时候计算多项式,我想以这种形式获得多项式a_0 + a_1x + ... + a_nx^n:我不知道如何开始。你能给我一些建议吗?

0 投票
2 回答
6878 浏览

matlab - 找到具有符号系数的多项式的根

作为作业的一部分,我必须推导出汽车悬架系统的运动方程。本质上,这是一个弹簧质量阻尼器问题。尚未给出汽车质量 M1、车轮质量 M2、弹簧常数 k1 和 k2 以及阻尼常数 c 的值。我已经导出了运动方程,并导出了一个将路面(输入)与最终的车身位移(输出)相关的传递函数。我必须确定这个传递函数的极点,因此我需要找到特征方程(分母)的根。问题是我没有上述变量的任何值,我试图在 MATLAB 中以符号方式分解我的四阶多项式或立即计算根。我不能假设任何值,它必须象征性地解决,

我对 MATLAB 没有太多经验,所以我不知道它的所有功能。

我试图解决的特征方程是:

(M1*M2)*s^4 + c*(M1+M2)*s^3 + ((M1*k1)+(M1*k2)+c^2+(M2*k2)-c)*s^2 + k1*c*s + ((k1*k2)-(k2^2))

先感谢您。

0 投票
1 回答
205 浏览

numpy - 由多项式组成的矩阵的乘法

是否可以使用 numpy/scipy 乘以由多项式组成的矩阵?

具体来说,我希望将一个 120 乘以 120 的稀疏矩阵相乘,其条目本身可能看起来像 a+7*b+c。

老实说,我并没有很努力地做到这一点。我看到 numpy 中有一个多项式模块,但我没有使用它的经验。我只是希望有人看到这一点并说“显然有可能,这样做”。

我之前看到过一个相关的问题:矩阵,其条目是多项式

0 投票
2 回答
1321 浏览

java - 多项式字符串未拆分

我有 2 个字符串。

我想拆分字符串。我应该找到系数和指数。我使用了这样的替换方法:s1.replaceAll("//s+","");所以我删除了所有空格。当我使用拆分方法时。

我的输出是:

但这不是答案。使用一种拆分方法,我将拆分所有部分。

但是我想在特殊代码“+”和“-”在一起时拆分字符串。但我又没有。在不删除空格的情况下,我可以拆分我的字符串吗?

0 投票
2 回答
1366 浏览

python - 在 Python 中分配变量值之前对变量执行操作

好的,所以基本上我的问题是将思维框架从“在纸上”解决数学问题转变为通过编程来解决它们。让我解释一下:我想知道是否可以在为变量赋值之前对其执行操作。就像如果我有类似的东西,(1-x)**n我可以先分配 na 值,然后将其转换为特定程度的特定值,然后给出 xa 值或值。如果我不够清楚:如果 n=2,我可以先将方程转换为形式1-2x+x**2,然后在下一步处理 x 值吗?

我想编写一个用于计算和绘制 n 次贝塞尔曲线的代码。我为此使用伯恩斯坦多项式,所以我意识到方程由 3 部分组成:第一部分是多项式系数,它们都是帕斯卡三角形的一部分;我正在计算这些并将它们放在一个列表中。第二部分是控制点的坐标,也是某种系数,并将它们放在单独的列表中。现在是困难的部分:方程的一部分有一个变量。伯恩斯坦正在使用气压中心坐标(意思是 u 和 1-u)。这部分方程的第 N 度公式是:

其中 n 是曲线度,我从 0->n 开始,U 是可变的。U 是实际标准化变量,这意味着它的值可以从 0 到 1,我想稍后在一定数量的步骤中迭代它(比如 1000) .但问题是,如果我尝试使用提到的方程,我会不断出错,因为 Python 不知道如何处理 u 我教过嵌套循环,其中第一个将 u 的值从 0 迭代到 1,第二个会处理提到从0到n的方程,但不确定它是否是正确的解决方案,也不知道如何检查结果。你怎么看?PS:我没有上传代码,因为我遇到问题的部分我什至无法开始,而且,我认为但可能是错误的,它与代码的其余部分是分开的;但如果你认为它可以帮助解决问题,我可以上传它。

0 投票
1 回答
8871 浏览

c - 递归 C 程序对多项式进行微分,直到它停止

上面的程序只计算一阶导数,但我需要一个计算所有导数的程序 ex 2x^3+2x^2+3x+1 f1= 6x^2+4x+3 f2=12x+4 f3=12

像这样我需要修改程序,但我不知道怎么做,请帮助我//

0 投票
1 回答
206 浏览

java - 我应该如何使用我的自定义链表实现排序?

我一直试图弄清楚链接列表是如何工作的,但我很难想象这个概念。我知道多种算法,但我不知道如何实现它们。

这是我的代码:

这是用于存储多项式的数据。我试图让他们按降序排列。并最终将具有相同指数的节点的系数相加。

我想我要使用冒泡排序算法,但我不知道如何重新排列链接。我也在考虑添加一个 remove() 方法,然后删除一个节点并将其添加到最后,直到它被排序。但这非常低效,因为我每次都必须不断制作新节点。

PS:我还有一个多项式类,它接受一个字符串并将其转换为 LL。我认为没有必要发布它,但如果你需要它,我会发布它!谢谢!

0 投票
6 回答
3807 浏览

python - Python 等效于 MATLAB 的 Legendre 函数

目前,我正在尝试使用 Python 分析时间序列数据。作为这样做的指导方针,我将自己定位在一个 MATLAB 脚本上,它几乎可以完成我想做的所有事情。到目前为止它工作得很好,但现在我碰到了那个脚本中使用的勒让德多项式。

我尝试了它的NumPy 实现,但我找不到(或多或少)产生与MATLAB function 相同结果的方法

基本上,这就是我想知道的。如何让我的 Python 代码给出与 MATLAB 代码相同的结果?

作为一个小示范,

给出:

而我的 Python 版本是这样的:我尝试的方式是这样的:

和产量:

我看到了一些有点奇怪的东西,但不幸的是我不知道如何测试它们,因为这是我第一次听说像勒让德多项式这样的东西,而且 NumPy 的文档和维基百科都对理解没有很大帮助它。

0 投票
0 回答
144 浏览

python - 如何评估动画通道样条的多项式系数?

我正在对视频游戏动画文件进行逆向工程,但遇到了一堵砖墙。动画集的结构如下:

对于每个动画集:

  • 动画集名称:攻击
  • 骨头数:22
  • 持续时间:1.03333

随后对于集合中的每个骨骼:

  • 骨骼名称:骨盆
  • 骨骼 ID:0
  • 键间隔:0.0333333
  • 键数:31

然后将以下数据分解为 7 个通道(Position[x,y,z]Rotation quaternion[x,y,z,w]):

Position[x,y,z] 是常量或原始值,我在这里没有问题。

但是 Rotation quaternion[x,y,z,w] 通道被解释为具有 N 段和 N 系数的样条线,我无法准确地弄清楚如何将样条线评估为可以打入 3D 程序的数据。

我知道每个通道的样条曲线被绘制为 Y 和 X 将等于标准化时间(0 到 1)。

这个 Q+A ( Evaluating Polynomial coefficients ) 似乎是我需要的:

系数为 a0, a1, a2, a3........an 的 n 次多项式是函数

p(x)= a0+a1*x+a2*x^2+a3*x^3+.....+an*x^n

并编写为 Python 代码:

但是我不确定当我将lst每个段的系数和x = Duration / Keys.

这是第一个动画集的“Rot.x”通道及其分段和系数:

段 = 3

第 1 段

  • 系数1:0.0198117
  • 系数2:0.00826611
  • 系数3:0.0521381
  • 系数4:-0.00210184

第 2 段

  • 系数1:-0.181324
  • 系数2:1.09073
  • 系数 3:-1.77627
  • 系数4:0.920407

第 3 段

  • 系数1:-0.0335189
  • 系数2:0.265863
  • 系数3:-0.359457
  • 系数4:0.147228

我正在查看的方式是每个段是持续时间的 1/3 (1.03333),此外,每个段的系数将在键数 (31) 的 1/3 上进行评估,但使用上述poly(lst, x)函数的输出为了

  • 第 1 段 = 从 0.019 到 4.90 到 -7.15
  • 第 2 段 = 从 -0.18 到 20985.41
  • 第 3 段 = 从 -0.03 到 3296.11

显然我做错了什么,因为输出太高了。

任何帮助将不胜感激!