Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否将一个数组的中心值和所有周围值合并到另一个数组中的特定值上?_Javascript_Node.js - Fatal编程技术网

Javascript 是否将一个数组的中心值和所有周围值合并到另一个数组中的特定值上?

Javascript 是否将一个数组的中心值和所有周围值合并到另一个数组中的特定值上?,javascript,node.js,Javascript,Node.js,这个问题用标题来解释是相当抽象的。所以我对此表示歉意。我试图在一个数组中的两个数据点上合并一个高斯核来进行核密度估计 因为核密度估计的要点是对任何重叠的核求和。为了使事情变得简单,我均匀地分布了这些值,这样两个高斯核就可以相互吻合,而不会有任何重叠 写了这篇文章之后,我已经超过了堆栈溢出的字符限制,所以我不得不修剪下面看到的数组。要完整查看每个数组,请访问此URL 高斯核值: const kernel = [0.0000010012331378948806, 0.0000010722046681

这个问题用标题来解释是相当抽象的。所以我对此表示歉意。我试图在一个数组中的两个数据点上合并一个高斯核来进行核密度估计

因为核密度估计的要点是对任何重叠的核求和。为了使事情变得简单,我均匀地分布了这些值,这样两个高斯核就可以相互吻合,而不会有任何重叠

写了这篇文章之后,我已经超过了堆栈溢出的字符限制,所以我不得不修剪下面看到的数组。要完整查看每个数组,请访问此URL

高斯核值:

const kernel = [0.0000010012331378948806, 0.0000010722046681969416, 0.000001147899227196217, 0.0000012286082418128176, 0.0000013146394976171826, 0.0000014063179475064513, 0.0000015039865533165654, 0.000001608007161276116, 0.0000017187614122055291, 0.0000018366516873606909, 0.000001962102090813225, 0.0000020955594692504055, 0.0000022374944700657156, 0.0000023884026385964733, 0.0000025488055553473936, 0.0000027192520140183837, 0.0000029003192411310286, 0.000003092614158021121, 0.000003296774685933875, 0.000003513471094924077, 0.0000037434073972252973, 0.000003987322785709955, 0.0000042459931180157695, 0.000004520232446863388, 0.000004810894597034758, 0.000005118874789422127, 0.0000054451113124928115, 0.000005790587241445476, 0.000006156332205258995, 0.000006543424201755123, 0.000006952991460711095, 0.000007386214354967505, 0.000007844327359380673, 0.00000832862105736654, 0.00000884044419467562, 0.0000093812057799243, 0.000009952377231288787, 0.000010555494568641264, 0.000011192160650276806, 0.000011864047453240681, 0.000012572898396121833, 0.00001332053070302737, 0.000014108837807296342, 0.000014939791793347624, 0.000015815445874887996, 0.000016737936907530242, 0.000017709487933690657, 0.00001873241075744663, 0.000019809108546842802]
内核的最高y轴值为
0.006531646276955685

console.log(Math.max(...kernel))
> 0.006531646276955685
它位于索引
256

console.log(kernel.indexOf(Math.max(...kernel)))
> 256
内核值的总长度为
513

console.log(kernel.length)
> 513
下面是我试图与
内核
数组合并的数据集。这是一系列的布尔人

const data = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...]
我知道这很难看到,但实际上这个数组中有两个
1
布尔值。第一个位于索引
256
,第二个位于索引
769
数据
数组的总长度为
1026
。这就是两个高斯核的长度

目标是在
data
数组中的每个
1
布尔值上合并并对齐高斯核的中心值和所有周围值。因此,换句话说,
数据
数组中包含的每个
1
布尔值将替换为
0.006531646276955685
(最大高斯核值),并且
数据
数组中所有周围的
0
布尔值将替换为周围的高斯核值(基本上就是每个高斯核的中心值
0.006531646276955685
)周围的值

期望输出:

合并前

console.log(data)
> [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...]
合并后:

console.log(data)
> [0.0000010012331378948806, 0.0000010722046681969416, 0.000001147899227196217, 0.0000012286082418128176, 0.0000013146394976171826, 0.0000014063179475064513, 0.0000015039865533165654, 0.000001608007161276116, 0.0000017187614122055291, 0.0000018366516873606909, 0.000001962102090813225, 0.0000020955594692504055, 0.0000022374944700657156, 0.0000023884026385964733, 0.0000025488055553473936, 0.0000027192520140183837, 0.0000029003192411310286, 0.000003092614158021121, 0.000003296774685933875, 0.000003513471094924077, 0.0000037434073972252973, 0.000003987322785709955, 0.0000042459931180157695, 0.000004520232446863388, 0.000004810894597034758, 0.000005118874789422127, 0.0000054451113124928115, 0.000005790587241445476, 0.000006156332205258995, 0.000006543424201755123, 0.000006952991460711095, 0.000007386214354967505, 0.000007844327359380673, 0.00000832862105736654, 0.00000884044419467562, 0.0000093812057799243, 0.000009952377231288787, 0.000010555494568641264, 0.000011192160650276806, 0.000011864047453240681, 0.000012572898396121833, 0.00001332053070302737, 0.000014108837807296342, 0.000014939791793347624, 0.000015815445874887996, 0.000016737936907530242, 0.000017709487933690657, 0.00001873241075744663, 0.000019809108546842802, 0.000020942078460934107, 0.000022133914298650234, 0.000023387309166355133, 0.000024705058160760758, 0.000026090061063633177, 0.000027545325044505026, 0.00002907396736737866, 0.00003067921809717081, 0.00003236442280141311, 0.000034133045242481636, 0.00003598867005538605, 0.00003793500540590263, 0.00003997588562358771, 0.00004211527380395883, 0.00004435726437388044, 0.00004670608561394057, 0.000049166102131353454, 0.00005174181727667466, 0.000054437875497365937, 0.000057259064621001416, 0.00006021031806066359, 0.0000632967169348375, 0.00006652349209387734, 0.00006989602604488875, 0.0000734198547666476, 0.00007710066940595766, 0.00008094431784664176, 0.00008495680614216054, 0.00008914429980266232, 0.0000935131249270873, 0.0000980697691707815, 0.00010282088253892102, 0.00010777327799590268, 0.00011293393188073315, 0.00011830998411833384, 0.0001239087382165863, 0.0001297376610388642, 0.00013580438234174052, 0.00014211669406751854, 0.00014868254938122047, 0.000155510061441668, 0.00016260750189632018, 0.00016998329908958149, 0.00017764603597437197, 0.0001856044477168515, 0.00019386741898431967, 0.000202443980906469, 0.00021134330770035376, 0.00022057471294965238, 0.00023014764552904443, 0.0002400716851648001, 0.00025035653762298576, 0.0002610120295170303, 0.00027204810272676725, 0.00028347480842147536, 0.00029530230067987634, 0.00030754082970052636, 0.0003202007345965395, 0.00033329243576913194, 0.00034682642685504166, 0.00036081326624350226, 0.0003752635681590851, 0.0003901879933074129, 0.0004055972390814562, 0.0004215020293268802, 0.00043791310366568303, 0.0004548412063781893, 0.00047229707484430675, 0.000490291427545827, 0.0005088349516324718, 0.0005279382900553109, 0.0005476120282721495, 0.0005678666805304793, 0.0005887126757345975, 0.000610160342904543, 0.0006322198962355656, 0.0006549014197679224, 0.000678214851677903, 0.0007021699682020994, 0.0007267763672080761, 0.0007520434514257304, 0.0007779804113547997, 0.0008045962078651243, 0.0008318995545074433, 0.0008598988995536758, 0.00088860240778679, 0.0009180179420615469, 0.0009481530446585413, 0.0009790149184551221, 0.0010106104079379032, 0.0010429459800826869, 0.0010760277051287263, 0.0011098612372753278, 0.0011444517953298284, 0.001179804143337022, 0.001215922571221075, 0.0012528108754719263, 0.0012904723399090798, 0.001328909716556553, 0.0013681252066635658, 0.0014081204419063235, 0.001448896465806959, 0.0014904537154063501, 0.001532792003228134, 0.0015759104995717557, 0.0016198077151728775, 0.001664481484269838, 0.0017099289481152002, 0.0017561465389716584, 0.0018031299646317446, 0.001850874193500863, 0.00189937344028318, 0.0019486211523098193, 0.0019986099965486354, 0.0020493318473345863, 0.002100777774859358, 0.0021529380344584683, 0.002205802056733524, 0.0022593584385466716, 0.0023135949349235526, 0.0023684984519002548, 0.002424055040348798, 0.002480249890814702, 0.0025370673293990485, 0.0025944908147162216, 0.002652502935957217, 0.002711085412086988, 0.002770219092202801, 0.0028298839570789673, 0.0028900591219216502, 0.002950722840355647, 0.003011852509663206, 0.0030734246772929894, 0.0031354150486552538, 0.003197798496217239, 0.0032605490699105675, 0.0033236400088602082, 0.0033870437544422536, 0.003450731964675389, 0.0035146755299484836, 0.0035788445900842712, 0.003643208552736542, 0.003707736113115715, 0.003772395275035007, 0.003837153373266842, 0.003901977097196419, 0.003966832515756696, 0.004031685103626371, 0.004096499768669685, 0.004161240880594242, 0.004225872300800272, 0.004290357413392126, 0.0043546591573201225, 0.004418740059618208, 0.0044825622697003175, 0.004546087594675734, 0.004609277535641261, 0.004672093324905533, 0.004734495964098392, 0.004796446263115965, 0.0048579048798497474, 0.0049188323606459035, 0.0049791891814388225, 0.005038935789501051, 0.005098032645749755, 0.00515644026754812, 0.005214119271938399, 0.005271030419241745, 0.005327134656958544, 0.005382393163901616, 0.005436767394493506, 0.0054902191231579744, 0.005542710488734978, 0.005594204038847548, 0.005644662774148459, 0.005694050192374033, 0.005742330332132143, 0.005789467816351291, 0.005835427895317638, 0.005880176489227022, 0.005923680230179243...]
这是一个直观的例子。图中的“值”只表示一个
1
布尔值(十进制是一个输入错误)。当然,在实际数组中,
1
布尔值被
0
布尔值包围,以完成每个内核长度

更新


提供更清晰的信息。虽然此任务不包括重叠。目标是将此方法应用于重叠的案例。我不希望在这里解决这个问题,但重要的是,合并的目标要以所描述的方式实现。或者至少按照这些方式实现。

我希望这就是您搜索的内容。我还做了一个可视化显示结果的外观

const内核=[0.0000010012331378948806, 0.0000010722046681969416, 0.000001147899227196217, 0.0000012286082418128176, 0.0000013146394976171826, 0.0000014063179475064513, 0.0000015039865533165654, 0.000001608007161276116, 0.0000017187614122055291, 0.0000018366516873606909, 0.000001962102090813225, 0.0000020955594692504055, 0.0000022374944700657156, 0.0000023884026385964733, 0.0000025488055553473936, 0.0000027192520140183837, 0.0000029003192411310286, 0.000003092614158021121, 0.000003296774685933875, 0.000003513471094924077, 0.0000037434073972252973, 0.000003987322785709955, 0.0000042459931180157695, 0.000004520232446863388, 0.000004810894597034758, 0.000005118874789422127, 0.0000054451113124928115, 0.000005790587241445476, 0.000006156332205258995, 0.000006543424201755123, 0.000006952991460711095, 0.000007386214354967505, 0.000007844327359380673, 0.00000832862105736654, 0.00000884044419467562, 0.0000093812057799243, 0.000009952377231288787, 0.000010555494568641264, 0.000011192160650276806, 0.000011864047453240681, 0.000012572898396121833, 0.00001332053070302737, 0.000014108837807296342, 0.000014939791793347624, 0.000015815445874887996, 0.000016737936907530242, 0.000017709487933690657, 0.00001873241075744663, 0.000019809108546842802]
常数数据=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
函数mergeArr(arr1、arr2){
设arr2Copy=arr2.map(el=>el);
设max=Math.max(…arr1);
设indexMax=arr2Copy.indexOf(1);
让sortedKernel=arr1.sort((a,b)=>a-b);
arr2Copy[indexMax]=max;
设indexPosition=sortedKernel.length-1;
对于(设i=indexMax;i>=0;i--){
if(indexPosition==0){
arr2Copy[i]=已分类的Cornel[indexPosition];
继续;
}
arr2Copy[i]=已分类的Cornel[indexPosition];
不扩散--;
}
让reversedKernel=sortedKernel.reverse();
for(设i=indexMax;i