我正在尝试使用昏暗的7x7生成非对称2D高斯,但我希望尽可能快地完成。我尝试过4种不同的方式:
<?php
if (get_magic_quotes_gpc()) {
$process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
while (list($key, $val) = each($process)) {
foreach ($val as $k => $v) {
unset($process[$key][$k]);
if (is_array($v)) {
$process[$key][stripslashes($k)] = $v;
$process[] = &$process[$key][stripslashes($k)];
} else {
$process[$key][stripslashes($k)] = stripslashes($v);
}
}
}
unset($process);
}
if (isset($_POST['startRegex'])) {
$startRegex = base64_decode(filter_input(INPUT_POST, "startRegex"));
}
echo $startRegex; //Output: "d+-d+-d+Td+:d+:d++d+:d+sINFOs(d):sSTARTEsKundenimport"
我的计算机上使用%timeit的基准:
"d+-d+-d+Td+:d+:d++d+:d+sINFOs(d):sSTARTEsKundenimport"
我很惊讶最快的方法是使用完整网格的方法。此外,生成此完整网格不是问题,因为它将被重用于许多计算。有没有更快的方法来计算x=np.arange(7)[None].astype(np.float); y=x.T
xx,yy=np.meshgrid(x,y)
mx,my,sx,sy=3.0,4.0,1.0,2.0 #centre and width params
gauss=np.exp(-(xx-mx)**2/sx-(yy-my)**2/sy) #full grid
gauss=np.exp(-(x-mx)**2/sx-(y-my)**2/sy) #x and y vectors
gauss=np.exp(-(y-my)**2/sy)*(np.exp(-(x-mx)**2/sx)) #multiplication
gauss=np.exp(-(y-my)**2/sy).dot(np.exp(-(x-mx)**2/sx)) #dot product
?