问题标签 [derivative]
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.
3d - 3D Perlin 噪声分析导数
我目前正在使用 Shader Model 4 (DirectX 10 HLSL) 实现 3D Perlin 噪声凹凸映射。产生噪声本身并不是一个大问题(周围有大量的教程和代码),但我还没有找到 3D Perlin 噪声的分析导数。
唯一考虑衍生品的网站是Ińigo Quilez 的网站和相关的GameDev.net 讨论。问题是,在第一个链接中,噪声是基于值的,而不是基于梯度的(这对我来说是一个要求),在第二个链接中,只有 2D 梯度噪声导数。
请注意,我不是在寻找数值导数,因为它们需要生成 4 个相邻的噪声样本,而且开销太大。
有人计算过这些导数吗?是否有使用它们的参考实现?
derivative - 我可以基于另一个 LGPL 库的实现来增强一个 LGPL 库吗?
我想知道从另一个 LGPL 库的功能基础上对一个 LGPL 库进行增强是否合法/不赞成。请注意,由于实现方法的原因,无法直接构建源代码,但总体思路是基于原始库中的功能在另一个库中实现类似的功能,而无需复制实现或直接使用另一个图书馆。
我在想的一个例子是:
LGPL 涵盖了这两个库:
库 1 具有函数 A,我想在库 2 中实现与库 1 的函数 A 类似的功能。
如果我以这种方式间接(但仍可能基于原始库的算法)实现类似的功能,是否会有任何法律问题?
如果这不是一个法律问题,我确实打算在做任何事情之前询问原始图书馆的作者是否允许,但是我想在实际询问之前确认我的想法是否合法/符合许可。
抱歉,如果这看起来有点不合适,或者有点像我没有正确理解 LGPL,但是我真的不擅长理解法律文件,我想知道是否有其他人对此有任何了解也是。如果不出意外,我可能会联系 FSF,也可能会联系 EFF,寻求有关这方面的建议。
regex - 可空性(正则表达式)
在 Brzozowski 的“正则表达式的导数”和其他地方,函数 δ(R) 如果 R 可以为空,则返回 λ,否则返回 ∅,包括如下子句:
显然,如果R1和R2都可以为空,则 ( R1 · R2 ) 可以为空,如果R1或R2都可以为空,则 ( R1 + R2 ) 可以为空。但是,我不清楚上述条款应该是什么意思。我的第一个想法是,将 (+)、(·) 或布尔运算映射到常规集合是没有意义的,因为在基本情况下,
并且 λ 不是一个集合(集合也不是 δ 的返回类型,它是一个正则表达式)。此外,此映射未指明,并且有一个单独的符号。我理解可空性,但我对 δ 的定义中的和、乘积和布尔运算的定义迷失了:例如,在定义中,λ 或 ∅ 如何从 δ( R1 ) ∧ δ( R2 )返回关闭 δ( R1 · R2 )?
math - 如何计算流数据的变化率(导数)?
我有一个随时间变化的数据流。如何使用 C# 确定变化率?
自从上微积分课已经很久了,但现在是我第一次真正需要它(15 年来)。现在,当我搜索“衍生品”这个词时,我会得到金融方面的东西,以及我认为我并不真正需要的其他数学方面的东西。
介意指出我正确的方向吗?
sorting - 根据导数或指数级别对 Mathematica 中的公式进行排序
我有一个阻抗方程,我已将其转移到 Mathematica,希望能对其进行简化。它代表了电路原理图,电路阻抗(Z,来自 V = iZ)是 s 平面中几个项的很大一部分。
作为一个简短的例子,它可能看起来像:
我想将数据重新排列为:
具有k
表示多余数据的所有值(各种 R-、L- 和 C-值的分数)。
什么公式操作最适合用来制作这些类型的结构?
.
.
.
我相信该Collect
函数无法根据 s 的指数处理分离事物,即使由于术语之间的划分级别,方程被简化然后 ExpandAll-ed - 有几层未解决的分数。
在想知道这一点时,我也很好奇,如果我将所有内容都转换为时域,是否可以按素数(推导/积分的次数)排序?
c# - C# - 通过二次拟合找到给定宽度内的峰值
我正在研究一种算法来查找 List 对象中的峰值。我想出了一个我认为很好(或足够好)的算法,通过查看一个点及其邻居,如果它是一个峰值,则将其添加到结果列表中。然而,鉴于最近的一些结果,我认为这种方法并不像我最初希望的那样有效。(我已经包含了我目前正在使用的代码,并希望在下面替换)。我以前用 LabView 做过一些工作,我知道他们的模块查找峰/谷的方式适用于我需要做的事情。我对 LabView 如何做到这一点进行了一些研究,并发现了这一点:
“这个峰值检测器 VI 基于一种算法,该算法将二次多项式拟合到连续的数据点组。拟合中使用的数据点的数量由宽度指定。
对于每个峰或谷,根据阈值测试二次拟合。高度低于阈值的峰或谷值高于阈值的谷将被忽略。只有在 VI 处理超出峰或谷位置的大约宽度/2 个数据点后,才能检测到峰和谷。这种延迟仅对实时处理有影响。”
好的,所以现在我一直在尝试在 C# 中做类似的事情,但是,在我所有的搜索中,似乎将二次多项式拟合到数据中肯定不是微不足道的。我认为这个问题会被探索很多很多次,但我一直没有成功地获得一个很好的算法或找到一个库来做这件事。
非常感谢您对此问题的任何帮助。谢谢。
原始/当前代码:
java - Java估计一个点的导数
我目前正在编写一个计算器应用程序。我正在尝试将导数估计器写入其中。下面的公式是一种简单的方法。通常在纸上,您会使用尽可能小的 h 来获得最准确的估计。问题是双打无法处理将非常小的数字添加到相对较大的数字。例如 4+1E-200 只会产生 4.0。即使 h 只是 1E-16,实际上 4+1E16 也会给你正确的值,但是做数学计算它是不准确的,因为第 16 位之后的任何东西都会丢失并且舍入不能正确发生。我听说双打的一般经验法则是 1E-8 或 1E-7。这个问题是大数字不起作用,因为 2E231+1E-8 将只是 2E23,1E-8 会因为尺寸问题而丢失。
f'(x)=(f(x+h)-f(x))/h as x approaches 0
当我在点 4 测试 f(x)=x^2 所以 f'(4) 时,它应该正好是 8 现在我知道我可能永远不会得到正好 8。但我最准确的似乎是 1E 左右7 或 1E8 有趣的是 1E-9 到 1E-11 都给出了相同的答案。这是 h 的列表和结果f(x)=x^2 at x=4
以下是我的问题:
- 选择 h 的最佳方法是什么,显然 1E-8 或 1E-7 是有意义的,但是我如何根据 x 选择 h,以便即使 x 是 3.14E203 或 2E-231,它也适用于任何大小的数字.
- 我应该考虑多少位小数。
- 你知道德州仪器是如何做到的吗,TI 83、84 和 Inspire 可以用数字计算出小数点后 12 位或精度的导数,而且几乎总是正确的,但是它们的数字的最大精度是 12 位,而那些计算器是非 CAS,所以他们实际上并没有派生任何东西
- 从逻辑上讲,有一个介于 1E-7 和 1E-8 之间的数字会给我一个更精确的结果,有没有办法找到这个数字,或者至少接近它。
已回答
非常感谢鲍勃。该应用程序目前计划为 2 种形式,一个命令行 PC 应用程序。还有一个安卓应用。在“关于”页面的部分内容中将特别感谢您。如果您愿意,它将是开源的,但在我解决一些非常非常大的错误之前,我不会发布项目站点的链接。目前我一直称它为 Mathulator,但名称可能会更改,因为它已经拥有版权,而且听起来很愚蠢。我不知道发布候选者何时会运行,目前我不知道它何时运行会稳定。但如果我也能实现我想要的一切,那将是非常强大的。再次感谢。快乐编程。
c++ - 多项式积分的自动偏导
我一直在寻找一个可以对多项式进行符号微分和积分的 C/C++ 库,但还没有找到适合我需要的库。恐怕问题是我没有使用正确的术语。问题是这样的:
给定一个多项式 p,我想看看函数
f(p) = (p')^2 从 a 到 b 的积分
并生成 f 相对于 p 的系数的偏导数。
从理论上讲,这里应该没有问题,因为我们正在处理多项式,但是我还没有找到可以保持原始系数和修改后的多项式之间联系的东西。
有谁知道是否有图书馆可以做这样的事情,还是我自己创建更好?
matlab - 使用matlab计算导数和积分
我正在尝试查找函数的二阶导数,但是在初始化符号时出现以下错误:
我正在使用的命令是:
“ u
”是我的功能。
c# - 确定类 x 是否派生自类 y 的最简单方法?(C#)
这是确定是否foo
相同或从类型派生的最简单方法T
并且完全匹配将是