- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图将一个一维数组分解为一个二维数组,其中子数组的长度各不相同。此方差应遵循高斯曲线 [或丘形状]。因此,假设我们创建的二维数组变量名为 gaussianCurve。 gaussianCurve[0] & gaussianCurve[n] 中的数组长度为 1,而 gaussianCurve[n/2] 将是参数“maxArrayLength”提供的最大值。这迫使 gaussianCurve 索引的数量变得可变。
假设我有以下伪代码:
function (oneDimentionalArray, maxArrayLength) {
// oneDimentionalArray is ["A","B","C","D","E","F","G","H","I","J","K"]
// maxArrayLength is 5
// Currently working like this (i.e. "batches"):
// return [["A","B","C","D","E"],["F","G","H","I","J"],["K"]]
// would LIKE it to work like this
gaussianCurve = []
gaussianCurve.push(["A"])
gaussianCurve.push(["B", "C"])
gaussianCurve.push(["D", "E", "F", "G", "H"])
gaussianCurve.push(["I", "J"])
gaussianCurve.push(["K"])
return gaussianCurve
}
我为什么要这样的东西?进度条。
欢迎提出任何建议。我只是没有在脑海中看到答案。
编辑:我觉得它措辞不佳,所以我正在重新措辞。
...gaussianCurve[0].length & gaussianCurve[gaussianCurve.length - 1].length 将为 1,而 gaussianCurve[gaussianCurve.length/2].length 将达到“maxArrayLength”。
输入:
function gaussianRefactor(["A","B","C","D","E","F","G","H","I","J","K"], 1)
function gaussianRefactor(["A","B","C","D","E","F","G","H","I","J","K"], 2)
function gaussianRefactor(["A","B","C","D","E","F","G","H","I","J","K"], 4)
function gaussianRefactor(["A","B","C","D","E","F","G","H","I","J","K"], 8)
function gaussianRefactor(["A","B","C","D","E","F","G","H","I","J","K"], 16)
输出:
[["A"],["B"],["C"],["D"],["E"],["F"],["G"],["H"],["I"],["J"],["K"]]
[["A"],["B","C"],["D","E"],["F","G"],["H","I"],["J"],["K"]]
[["A"],["B","C","D"],["E","F","G","H"],["I","J","K"]]
[["A"],["B","C","D","E","F","G","H","I"],["J","K"]]
[["A","B","C","D","E","F","G","H","I","J","K"]]
内部数组的长度不能超过 maxArrayLength
最佳答案
我快速试了一下,它似乎有效。一些潜在的改进:
function probability(s, m, x) {
var eExp = -Math.pow(x - m, 2) /
(2 * Math.pow(s, 2));
return 1/(Math.sqrt(2*Math.PI) * s) *
Math.pow(Math.E, eExp);
}
function gassianArray(input, nBins) {
// first try to determine a reasonable value of s so that the outer bins have a value
var s = 0.1;
var sMax = 10;
var m = (nBins - 1) / 2.0;
var outerBinMinimum = 1 / input.length;
var p = 0;
while (true && s <= sMax) {
p = probability(s, m, 0);
if (p >= outerBinMinimum) {
break;
} else {
s += 0.1;
}
}
// holds arrays
var output = [];
// holds desired array sizes
var outputLengths = [];
// fill these based on probability density
for (var b=0; b<nBins; b++) {
var n = Math.floor(probability(s, m, b) * input.length);
output.push([]);
outputLengths.push(n);
}
// fill arrays from outside, leaving extra values for the middle
var midIndex = Math.floor(m);
// left side
for (var i=0; i<midIndex; i++) {
for (var j=0; j<outputLengths[i]; j++) {
output[i].push(input.shift());
}
}
// right side
for (var i=nBins-1; i>=midIndex; i--) {
for (var j=0; j<outputLengths[i]; j++) {
output[i].push(input.pop());
}
output[i].reverse();
}
// whatever remains goes in the "middle"
while (input.length !== 0) {
output[midIndex].unshift(input.pop());
}
return output;
}
var input = ["A","B","C","D","E","F","G","H","I","J","K"];
var n = 5;
console.log(gassianArray(input, n));
/*
[ [ 'A' ],
[ 'B', 'C' ],
[ 'E', 'D', 'F', 'G', 'H' ],
[ 'I', 'J' ],
[ 'K' ] ]
*/
var input = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];
var n = 6;
console.log(gassianArray(input, n));
/*
[ [ 'A' ],
[ 'B', 'C', 'D', 'E' ],
[ 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N' ],
[ 'O', 'P', 'Q', 'R', 'S', 'T', 'U' ],
[ 'V', 'W', 'X', 'Y' ],
[ 'Z' ] ]
*/
关于javascript - 1D -> 2D Array WITH/Normal Curve 子数组长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55943151/
当我用 g++ 编译时出现以下错误: Parser.cpp:(.text+0x2478): 未定义对“Curve::Curve()”的引用 Parser.cpp 的标题如下: #include "Be
问题 假设我知道希尔伯特曲线面和四叉树,例如 4/032212303102122 (第 4 面,第 15 层)。 或者我可能知道 S2 Geometry CellId,例如 9749618424903
我正在尝试将文本包裹在贝塞尔曲线中,并遵循此链接中的教程,http://www.planetclegg.com/projects/WarpingTextToSplines.html 我通过此代码获得衍
如果我有一组来 self 扫描的黑白图像的点。 它看起来像一条曲线,我想使用这些点的三次贝塞尔曲线来模拟一条平滑的曲线。 如何确定起点、2 个控制点和终点? 从图像中可以模拟出几条三次贝塞尔曲线,但我
我想将具有已知端点(p0 和 p3)的贝塞尔曲线拟合到嘈杂的二维数据。这似乎比传统的 4 点贝塞尔曲线拟合更简单,但我仍然难以弄清楚。 有人可以指出我现有的代码或算法来找到控制点 p1 和 p2 的最
我正在尝试使用 B 样条曲线拟合。 B样条曲线的阶数为4。当我有很多控制点时,它工作得很好。但是,如果控制点的数量很少,比如两个,我的程序就会崩溃。我意识到控制点的数量与结的数量和顺序有关。谁能帮我澄
我有三个形成抛物线的 X/Y 点。我只需要计算通过这三个点的抛物线顶点是多少。最好是一种快速的方法,因为我必须做很多这些计算! “Ask A Scientist”网站提供this answer : T
我想绘制 x 的函数,其中 x 应用于向量。无论如何,最简单的是举一个简单的例子: var <- c(1,2,3) curve(mean(var)+x) curve(mean(var+x)) 虽然第一
一位同事问我这个问题,我一直在努力解决这个问题。 假设我想定义一个函数,它接受一个表达式(具体来说,假设为 x^2)作为参数,并将该参数传递给 curve()。 如果我想以简单的方式做到这一点,我只需
我想绘制 x 的函数,其中 x 应用于向量。无论如何,最简单的是举一个简单的例子: var <- c(1,2,3) curve(mean(var)+x) curve(mean(var+x)) 虽然第一
ECDSA算法中256位EC key 的签名长度将是多少? 我想验证签名长度是否相同。如果某个机构可以帮助我设置一个EC key ,那将是很棒的。 最佳答案 这取决于您如何对签名进行编码。这是来自Op
我有以下代码生成四个图,但它们最终被压扁(见下图)。我该如何解决这个问题? par(mfrow=c(2,2)) curve(.5*exp(-.5*x),from=0,to=10,main="f(x)"
我编写了一个程序,它处理当前资源到几何图形表面的欧氏距离。在我们的几何考虑中,y 坐标始终为零 - 因此它在 x 和 z 维度上是一个二维结构。该图显示了它的外观: (length yellow =
为什么curve似乎不适用于从列表中提取的元素? 考虑两个看似相同的函数,但构建方式不同: a curve(m[[1]]) Error in curve(m[[1]]) : 'expr' mus
我有一个公式作为字符向量,并希望在曲线中使用它。 curve(-8*cos(2*x), 0, 10) #works as expected formula <- "-8*cos(2*x)" # not
为什么curve似乎不适用于从列表中提取的元素? 考虑两个看似相同的函数,但构建方式不同: a curve(m[[1]]) Error in curve(m[[1]]) : 'expr' mus
是否可以循环动画此图像? 我试图通过创建一个相对父级并将每个图像设置为动画(业务解决方案 div、it 解决方案 div、生命周期解决方案 div 和教育解决方案 div 为绝对)。我使用了这段代码,
如何在Flex中弯曲我的文本小部件?我有一个被文本包围的圆圈,我需要为文本创建这个样式。另外,这个圆圈占屏幕宽度的50%,所以这个曲线效果也应该是动态的
我怎样才能弯曲一张纸(立方体)?我想控制弯曲/曲线的角度。 例如 立方体([50,50,2]); 最佳答案 您可以 rotate_extrude()一个带有参数角的矩形。这需要 openscad 版本
我正在尝试寻找一种聪明的方法来创建像下一个一样的曲线(使用 Unity3d 2D 部分(不使用网格对撞机))),但我没有找到 任何帮助,将不胜感激。 最佳答案 看到最后一个答案(已删除)不符合我的要求
我是一名优秀的程序员,十分优秀!