我有一个大约400个栅格的堆栈,我想计算每个单元格的平均值。我正在使用包栅格中的“均值”函数,但它花费的时间太长了。是否有替代函数/包来计算大型堆栈的平均值?
# brief example
logo <- stack(system.file("external/rlogo.grd", package="raster"))
logoMean=mean(logo)
我有一组点和,我想从几个大型光栅中提取值,作为围绕这些点的缓冲区。栅格太大,无法保存在内存中(> 1e10细胞)。我在下面说明我目前的方法,但如果有更快的方法,我会感兴趣的。
library(maps)
library(sf)
library(raster)
library(dplyr)
library(parallel)
# sf object with polygones for which we want values
crs <- "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +n
我有一个ASP MVC控制器联系了一堆http-站点在一个for-循环.比如:
foreach(string provider in providers){
// get data from asomehttp URL
}
这需要大约4秒的时间.
我试过:
Parallel.ForEach(providers, (provider) => {
// get data from some http URL
});
而且我没有看到任何表现上的提高!
为什么会这样呢?
我有以下用php编写的代码,并且一直在阅读Cuda以利用我的旧GeForce8800 Ultra的GPU处理能力。如何将此嵌套组合测试转换为Cuda并行处理代码(如果可能的话……)?2d阵列的总组合:$a、$b、$c、$d、$e迅速上升到数万亿...
foreach($a as $aVal){
foreach($b as $bVal){
foreach($c as $cVal){
foreach($d as $dVal){
foreach($e as $eVal){
$ad
我在模拟一个粒子系统,它相互作用,并由于相互作用而移动和旋转。总共有2000个粒子,但如果粒子及其图像的距离大于l0,则每个粒子与其他粒子和它们的图像(我使用的是周期边界条件)相互作用。我只是考虑粒子的图像,在8个附近的盒子到主盒子。
y[N],x[N]是点在平面上的位置;dx[n]和dy[N]是它们在每个时间步骤中的变化。c显示不同的时间步骤。e_x和e_y显示了每个粒子方向的x和y分量与x和y轴的关系.
int main()
{
unsigned short int N, l0 , R0;
double rho, v0, eta, dt, a, b, D;
long c_equ
我将尝试将以下简单的while循环并行为两个线程,并使用OpenMP (我第一次尝试使用这种技术)。我试着同时使用sections和tasks。尽管我把它分割成两个线程,并产生了正确的结果,但是性能却是不可接受的慢。
while ( tortoise != hare ) {
tortoise = f ( tortoise );
hare = f ( f ( hare ) );
}
注意: f是函数对象的const & (即它有一个T operator()(const T &r))
operator()按如下方式实现(d是函数对象的成员变量):
T operato
我简化了这个例子的程序,所以我基本上加载了一个文件,并将文件中的值添加到列表中。
IList<string> MyList = new List<string>();
Main ()
{
foreach(Row r in InputFile)
{
foreach(Cell c in r)
{
AddToList(c.Value);
}
}
}
public void AddToTheList(string value)
{
MyList.Add(value);
}
我希望加快循环的
这个程序运行。但是,正如你所能看到的,当正方形翻转时,会有一件艺术品。矩阵值必须表示,而且这种表示也应该根据角度被看到。有什么办法来存档良好的可视化。为什么我的代码会发生这种情况?
var canvas=document.getElementById('canvas');
var ctx=canvas.getContext('2d');
var x=100;
var y=100;
var width=200;
var height=200;
var radianAngle=0;
Rotar()
已经有一些关于这个话题的讨论,但他们并没有完全解决我的问题。如果他们这样做了,而我没有意识到,我要提前道歉。
下面是用R和python编写的两个简单的for循环设置:
R for循环(在我的电脑上花了3.41秒):
datafr <- matrix(0,nrow=24*365,ncol=15)
matrix3d <- array(0,dim=c(24*365,12,7))
#================
start_time <- Sys.time()
for (p in 1:150) {
for (m in 1:2) {
l <- rep(0.
Matplotlib允许对绘图中的单个元素进行栅格化,并将其保存为混合像素/矢量图形(.pdf) (参见)。如何在R和ggplot2中实现相同的目标?
下面是一个玩具问题,在这个问题中,我只想对geom_point层进行扫描。
set.seed(1)
x <- rlnorm(10000,4)
y <- 1+rpois(length(x),lambda=x/10+1/x)
z <- sample(letters[1:2],length(x), replace=TRUE)
p <- ggplot(data.frame(x,y,z),aes(x=x,y=y)) +
f
在之后,我实际上有更复杂的代码,有三个循环:
!$omp parallel
!$omp do
do i=1,4 ! can be parallelized
...
do k=1,1000 !to be executed sequentially
...
do j=1,4 ! can be parallelized
call job(i,j)
除了i=4之外,外部循环很快就结束了。因此,我希望在最内层的循环中启动线程,但在每个i-iteration中按顺序保留k-loop。事实上,k循环遍历随机数生成器的变化状态,因此这不能并行化。
如何只折叠i和j循环?我怀
我想知道如何在Mongodb中提高数据导入性能。我有17700个txt文件,要导入它们,我必须先把它们转换成字典,然后导入到Mongo中,但是使用循环的过程真的太慢了,有什么建议吗?谢谢,这是我的代码:
from bson.objectid import ObjectId
def txt_dict(x):
d = {}
with open(x,'r') as inf:
conta=0
for line in inf:
if (conta == 0):
movie_id =
我有一段代码,它执行以下操作:
for each file (already read in the RAM):
call a function and obtain a result
add the results up and disply
每个文件都可以并行分析。分析每个文件的函数如下:
# Complexity = 1000*19*19 units of work
def fun(args):
(a, b, p) = args
for itr in range(1000):
for i in range(19):
for
假设我在搜索表中的条目时遇到了性能问题。让我们来看一个例子:
public class A {
[Key]
public int Id {get;set;}
public string xyz {get; set;}
}
public class Context : DbContext {
public DbSet<A> AList {get;set;}
public A FindA(string xyz) {
A output = null;
if(AList.Local != null) {
output = AList.Local.Single
我试图使用来自zonal_stats包的函数rasterstats从.shp文件中的每个形状的.tif文件中获取光栅统计信息。我设法在QGIS中做到了这一点,没有任何问题,但我必须对200多个文件进行同样的操作,这将需要很长时间,所以我正在尝试Python方法。文件和复制代码都在我的中。
我的剧本是:
import rasterio
import geopandas as gpd
import numpy as np
from rasterio.plot import show
from rasterstats import zonal_stats
from rasterio.transfor
我是编程新手,我正在尝试用R来解决这个问题。
一只蜗牛生活在坐标为6,6的11 x 11矩阵的中心,他想离开他的房子走N个空间。他只能移动到他当前所在的正方形附近(左、右、上、下),如果他在矩阵的边界,那么他就会停在他当前所在的位置。使用runif()函数返回一个矩阵,其中包含蜗牛在冒险过程中在每个方块中出现的次数。
该函数的输入如下所示:new_snail_house(N)
任何关于从哪里开始的帮助都是有用的,我大致知道如何移动蜗牛的规则:
Up = [i, j-1]
Down = [i, j+1]
Left = [i-1, j]
Right = [i+1, j]
但是,我不知道如何使用它,