问题标签 [cubic]
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.
c++ - Visual Studio 2012 中的三次根函数 cbrt()
我正在用 C/C++ 在 Visual Studio 2012 Professional (Windows) 中编写一个程序,其中包括使用pow()
. 我运行分析器以找出为什么需要这么长时间才能运行,我发现这pow()
是瓶颈。
我已经重写了诸如
pow(x,1.5)
至x*sqrt(x)
和
pow(x,1.75)
至sqrt(x*x*x*sqrt(x))
这显着提高了程序的速度。
一些权力是这样的,pow(x,1.0/3.0)
所以我寻找立方根函数cbrt()
来加快速度,但它似乎在 Visual Studio 中不可用,我几乎无法想象,所以我的问题是:
我在哪里可以找到cbrt()
Visual Studio 2012 Professional 中的功能,如果没有,除了 之外还有哪些替代方法pow(x,1.0/3.0)
?
亲切的问候,
恩斯特·简
java - 4-sum 实现的二次时间
给定一个包含元素的数组x
,我必须找到四个相加后等于 0 的数字。我还需要确定存在多少这样的总和。
所以三次时间涉及三个嵌套迭代器,所以我们只需要查找最后一个数字(使用二分搜索)。
相反,通过使用笛卡尔积(X 和 Y 的相同数组),我们可以将所有对及其总和存储在辅助数组中。所以对于每个总和d
,我们只需要寻找-d
.
这应该类似于(接近)二次时间:
由于x
是 353(对于我们特定的数组输入),解决方案应该是 528,但我使用这个解决方案只找到 257。对于我们的立方时间,我们能够找到所有 528 个 4 和
是否有任何机会丢失了double的精度?
编辑:讨论了使用BigDecimal
代替double
,但我们担心它会对性能产生影响。我们只处理数组中的 353 个元素,那么这对我们来说意味着什么吗?
编辑编辑:如果我错误地使用 BigDecimal,我深表歉意。我以前从来没有和图书馆打过交道。因此,经过多次建议后,我尝试使用 BigDecimal
因此,它能够找到 261 个解决方案,而不是 257 个。这可能表明存在问题double
,实际上我正在失去精度。但是261距离528很远,但我无法找到原因。
LASTEDIT:所以我相信这是可怕而丑陋的代码,但它似乎仍然有效。我们已经尝试过 while 但使用 BigDecimal 我们现在能够获得所有 528 个匹配项。
我不确定它是否足够接近二次时间,时间会证明一切。
我给你介绍怪物:
javascript - JavaScript 中的三次回归(最佳拟合线)
我在寻找可以让我进行三次回归的 JavaScript 代码时遇到了最糟糕的情况。会自己写,但我对多项式数学的理解是次优的。
所以,这就是我要找的。给定一个数组数组的输入,其中内部数组是 [x,y],该函数会给我一个带有四个参数的数组形式的输出 - [a,b,c,d],其中 a 、b、c 和 d 是方程 y = ax^3 + bx^2 + cx + d 的参数。
示例:输入是这样的数组 [[2,5],[5,10],[07,15],[12,20],[20,25],[32,30],[50,35] ]。
这本质上是一个表格的表示:
现在,输出将是 [0.000575085,-0.058861065,2.183957502,1.127605507]。这些是三次函数的 a、b、c 和 d 参数。
(仅供参考,我使用 Excel 的 LINEST 函数并使用数组函数 {1,2,3} 在上述数字集上运行它得到的输出)。
怎么可能做到这一点?非常感谢您的任何指导。
最好的,汤姆
r - 如何在R中解析三次方程(精确解)?
我试图在 R 中解析三次方程的解,而不是数值解。
我在互联网上查找并获得了三次根的公式并编写了以下代码:链接是: http: //www.math.vanderbilt.edu/~schectex/courses/cubic/
然而这个函数在大多数情况下不起作用,我猜这是因为公式中负数的力量,例如我注意到 R 不能得到 (-8)^(1/3) 的实根,即 -2 . 但我不确定如何修复我的代码,以便它可以用来解决一般的精确三次解决方案。
谢谢。
interpolation - 如何保证三次插值是单调的?
一般来说:给定一组本身是单调的任意数据,我应该如何计算额外的 n 个点来强制非单调三次插值(我必须使用它,没有其他选择)是单调的?
特别是对我来说:我有一个项目需要计算两个伺服器之间的关系。由于机器设计,伺服系统永远不应该备份。我希望我可以发布一张图片,但我刚刚注册并且还没有声誉。一组有代表性的点如下:
0: [0, 0](直线到 1)
1:[37.5, 45](三次曲线为 2)
2:[?, ?](三次曲线为 3)
3:[180, 60](三次曲线为 4)
4:[?, ?](三次曲线到 5)
5:[322.5, 75](直线到 6)
6:[360, 120](不适用)
我想要的行为以点 0、1、3、5 和 6 为特征。点 0 是固定的;其余的在运行时计算,并保证单调增加。保证整个绘图围绕点 3 对称。需要添加点 2 和 4,以便我必须使用的第三方线性/三次插值器产生尽可能平滑的单调曲线。(最小二阶导数)
有谁知道该怎么做?
javascript - 创建简单的功能 40% 折扣
我有动画遵循这个计时函数:cubic-bezier(0.25, 0.1, 0.25, 1.0)
我想修改这个函数,所以我只得到它的结尾 40%。为了让事情变得简单,让我们说我想要函数的 50%。我怎样才能做到这一点。
所以图形上就是这样: https ://developer.mozilla.org/files/3429/cubic-bezier,ease.png
我想用参数制作一个三次贝塞尔曲线,以便在图形上我们只能看到顶部,所以我们从该图的 0.5 到 1(在 yaxist 上)部分看到的,我想制作同一条线,但从 0为 1。
请帮助我如何制作此功能。
javascript - 与简单三次贝塞尔函数相反
我有ease
三次贝塞尔函数cubic-bezier(.25,.1,.25,1)
:(http://cubic-bezier.com/#.25,.1,.25,1)
我想要与此相反。这是我正在尝试完成的图形表示:
左边的图表是我所拥有的,右边图表的功能是我想要实现的。
javascript - 将拆分三次贝塞尔曲线外推到 1,1
我需要有关此处提供的解决方案的帮助。
1,1
我需要对其进行修改,以便在拆分后推断返回的左右。这是因为如果我不推断,我不能使用返回的分割三次贝塞尔曲线作为 css 过渡。
所以这是我做的测试。请帮忙,因为 real 不匹配 mike way :( 我认为问题是我需要将结果推断为 1,1。虽然我很确定,但我不能简单地将值加倍。
- 真实的
ease-in-out
是cubic-bezier(.42,0,.58,1)
并且图形是http://cubic-bezier.com/#.42,0,.58,1- 前半部分
ease-in
是cubic-bezier(.42,0,1,1)
http://cubic-bezier.com/#.42,0,1,1 - seoncd 的一半是
ease-out
,cubic-bezier(0,0,.58,1)
并且在 grpahically 是http://cubic-bezier.com/#0,0,.58,1
- 上面发布的函数返回以下内容
ease-in-out
与此相同是起点- 上半部分,左边,是
cubic-bezier(0.21, 0, 0.355, 0.25)
并且图形是http://cubic-bezier.com/#.21,0,.35,.25- 返回的代码:
left:[0, 0, 0.21, 0, 0.355, 0.25, 0.5, 0.5]
- 返回的代码:
- 下半场,正确的,是
cubic-bezier(0.645, 0.75, 0.79, 1)
和图形是http://cubic-bezier.com/#.64,.75,.79,1- 返回的代码
right:[0.5, 0.5, 0.645, 0.75, 0.79, 1, 1, 1]
- 返回的代码
用于获取 Mike 方式的代码是这样的:
c - 如何在 C 编程中评估 for 循环中的表达式?
我正在尝试打印从 1 到 20 (n 3)的所有数字的立方体。我想知道我的代码是否
有必要的。那条线的目的是什么?有人可以解释吗?谢谢。这是我学习 C 的第一天。
c - 如何在 C 编程中运行多个 for 循环?
我正在尝试使用各种类型的 for 循环找到从 1 到 10 的数字的立方。我想知道为什么在我的 for 循环评估后,程序停止并且不继续评估 while 循环?有人可以帮忙吗?顺便说一下,for 循环和 while 循环应该做同样的事情。谢谢。
PS我的第一个编程语言是Python,所以我很困惑为什么C在第一个for循环之后停止...... :(