有一段时间,我一直试图用我从"游戏的实时流体动力学"中剔除的算法来模拟流动的水.问题是我似乎没有用这些算法得出类似水的行为.
我自己,我猜我做错了,那些算法并不适合水样流体.
这些算法我做错了什么?这些算法是否正确?
我在bitbucket存储库中有相关项目.(需要gletools和最新的pyglet才能运行)
我正在尝试创建一个可用于编写模拟程序的Java包.我的目标是创建像弹簧一样的"物体"或像立方体和球体这样的固体物体.它们将具有质量,速度,重力等,并且它们可以相互作用.
我在www.myphysicslab.com上看到了一些模拟程序,但我的问题是我不想为不同的情形编写不同的方程式.有没有办法做到这一点?我是编程新手.
问题很简单.我必须模拟dpad事件(UP,DOWN,RIGHT,LEFT,CENTER),以便在我的GUI中导航,其中包含许多按钮和其他元素.使用模拟器D-Pad,我可以在没有行代码的情况下导航此GUI.但是我该如何以编程方式执行此操作?
我尝试了很多但没有成功:
KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_DPAD_LEFT);
View.dispatchKeyEvent(event);
没有任何事情发生(焦点应该将一个元素移动到右边)
我也阅读了很多关于windowManager.injectKeyEvent的内容,但发现没有任何效果.
我认为有一个解决方案,因为对讲可以模拟物理D-Pad(http://code.google.com/p/eyes-free/source/browse/trunk/ime/latinime/src/com/googlecode/eyesfree /inputmethod/latin/LatinIME.java)
我是akka和演员模式的新手,因此我不确定它是否符合我的需求.
我想用akka和数以百万计的实体(想象为域对象 - 后来的演员)创建一个可以相互影响的模拟.因此,我们认为模拟具有或多或少的"模糊"结果,我们有一个带有实体的数组,其中每个实体都有一个速度,但却被实际实体前面的实体所阻挠.当模拟开始时,每个实体应该移动n个字段,或者如果被其他实体阻止,则移动更少的字段.我们有多次迭代,最后我们有了一个新的订单.在一些轮次中重复这一过程,直到我们想要看到前导实体的"快照"(然后可能在下一轮开始之前将其删除).
所以我不明白我是否可以用akka创建它,因为:
是否有可能拥有每个演员位置的全局列表,因此他们知道他们在哪个位置以及哪个位于他们面前?据我了解,这违反了演员的封装.我可以把演员的位置放在演员本身,但是我怎样才能看到/通知演员周围的演员?除此之外,全局列表将产生同步问题并影响性能,这与期望的行为完全相反(并且与akka/actor模式互补)
我错过了什么?我是否必须寻找其他设计方法?谢谢你的建议.
更新:使用eventbus和分类器似乎也不是一个选择.参考文档:
"因此它不适合使用订阅频率变化非常高的情况"
我正在为基于角度和速度的游戏编程AI运动.它是一个基于x,y轴的2D程序.我现在有一个位置向量,以及占速度与AI.Every时电流方向的速度矢量我移动AI我刚才添加的速度矢量到当前位置,让我的新position.At的那一刻运动是8方向的.我想要实现的是基于角度的运动(更真实的运动类型),并想知道是否可以从角度和速度常数计算速度矢量.
提前致谢!
我想模拟混合数据,比如三维数据.我想在每两个变量之间有两个不同的组件.
也就是说,模拟混合数据(V1和V2),其中它们之间的依赖关系是两个不同的正常分量.然后,在V2和V3之间另外两个正常组件.所以,我将得到3d数据,第一个和第二个变量之间的依赖关系是两个法线的混合.并且第二和第三变量之间的依赖性是另外两个不同组分的混合.
另一种解释我问题的方法:
假设我想生成如下混合数据:
1- 0.3正常(0.5,1)+ 0.7正常(2,4)#因此在这里我将获得由两个不同法线(混合模型的两个分量)生成的双变量混合数据,混合器重量的总和为1.
然后,我想得到另一个变量如下:
2- 0.5 normal(2,4)#这是第一个模拟的第二个变量+ 0.5法线(2,6)
所以在这里,我得到了3d模拟混合数据,其中V1和V2由两个不同的混合成分生成,V2和V3由另一个不同的混合成分生成.
这是如何在r中生成数据:(我相信它不会生成双变量数据)
N <- 100000
#Sample N random uniforms U
U <- runif(N)
#Variable to store the samples from the mixture distribution
rand.samples <- rep(NA,N)
#Sampling from the mixture
for(i in 1:N) {
if(U[i]<.3) {
rand.samples[i] <- rnorm(1,1,3)
} else {
rand.samples[i] <- rnorm(1,2,5)
}
}
Run Code Online (Sandbox Code Playgroud)
因此,如果我们生成混合双变量数据(两个变量),那么如何将其扩展为具有4个或5个变量,其中V1和V2由两个不同的法线生成(它们之间的依赖关系结构是两个法线的混合)然后V3将从另一个不同的法线生成,然后用V2进行复习.也就是说,当我们绘制V2~V3时,我们会发现它们之间的依赖关系结构是两个法线的混合,依此类推.
我想申请的甩采样方法来模拟随机矢量Y=(Y_1, Y_2)从一个单元盘状的均匀分布的D = { (X_1 , X_2) \in R^2: \sqrt{x^2_1 + x^2_2} ? 1},使得X = (X_1 , X_ 2)处于正方形的均匀分布的随机矢量S = [?1, 1]^2和接头密度f(y_1,y_2) = \frac{1}{\pi} 1_{D(y_1,y_2)}.
在拒绝方法中,我们一般接受一个样本如果f(x) \leq C * g(x)。我正在使用以下代码:
x=runif(100,-1,1)
y=runif(100,-1,1)
d=data.frame(x=x,y=y)
disc_sample=d[(d$x^2+d$y^2)<1,]
plot(disc_sample)
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
{使用上面的代码,从逻辑上讲,的大小d应该大于的大小,disc_sample但是当我调用它们时,我看到它们中的每一个都有 100 个元素。这怎么可能。为什么尺寸相同。}这部分已解决,感谢下面的评论。
现在的问题
另外,我怎样才能重新编写我的代码,以便为我提供按照条件获取 100 个样本所需的样本总数。即给我拒绝的样品数量,直到我得到 100 个所需的样品?
感谢r2evans的回答,但我希望写一些更简单的东西,一个 while 循环将所有可能的样本存储在矩阵或数据帧而不是列表中,然后从该数据帧调用,只是样本遵循条件。我在没有使用列表和 sapply 函数的情况下修改了答案中的代码,但它没有给出所需的结果,它只产生一行。
i=0
samps <- data.frame()
goods <- data.frame()
nr <- 0L
sampsize …Run Code Online (Sandbox Code Playgroud) 我想“视觉上”对马尔可夫链进行动画处理,如下所示: http: //markov.yoriz.co.uk/,但使用Python而不是html css和javascript。
我不知道是否有任何库可以使这变得简单,直到现在我设法使用 Networkx 库制作马尔可夫链的可视化表示,如下图所示,但无法将其动画化(或模拟)
到目前为止,这是我的代码:
from networkx.drawing.nx_pydot import write_dot
import networkx as nx
import matplotlib.pyplot as plt
states = [(0, 0),
(1, 0),
(2, 0),]
Q = [[5, 5, 0.4],
[1, 2, 3],
[4, 0.7, 0]
]
G = nx.MultiDiGraph()
labels={}
edge_labels={}
for i, origin_state in enumerate(states):
for j, destination_state in enumerate(states):
rate = Q[i][j]
if rate > 0:
G.add_edge(origin_state, destination_state, weight=rate, label="{:.02f}".format(rate))
edge_labels[(origin_state, destination_state)] = label="{:.02f}".format(rate)
plt.figure(figsize=(10,7))
node_size = 200
pos = {state:list(state) for state …Run Code Online (Sandbox Code Playgroud) 我正在尝试解决一个涉及反转列表拼接的问题,但我在测试用例的时间限制方面遇到了问题,即 4 秒。问题:
Farmer John 的 N 头奶牛 (1?N?100) 排成一排。左边的第 i 头奶牛有标签 i,每 1?i?N。农夫约翰为奶牛制定了一个新的晨练程序。他告诉他们准确地重复以下两步过程 K (1?K?1000000000) 次:
当前在位置 A1…A2 的奶牛从左边的顺序颠倒了它们的顺序 (1?A1<A2?N)。然后,当前在位置 B1…B2 从左边开始的奶牛的顺序颠倒它们的顺序 (1?B1<B2?N)。在奶牛重复这个过程正好 K 次后,请输出从左边开始每 1?i?N 的第 i 头奶牛的标签。
评分:测试用例 2-3 满足 K?100。测试用例 4-13 不满足其他约束。
INPUT FORMAT(文件swap.in):输入的第一行包含N和K,第二行包含A1和A2,第三行包含B1和B2。
OUTPUT FORMAT(文件swap.out):在输出的第i行,在例程结束时从左边打印第i头牛的标签。
样品输入:
7 2
2 5
3 7
Run Code Online (Sandbox Code Playgroud)
样品输出:
1
2
4
3
5
7
6
Run Code Online (Sandbox Code Playgroud)
最初,奶牛的顺序是 [1,2,3,4,5,6,7] 从左到右。在过程的第一步之后,顺序是[1,5,4,3,2,6,7]。经过第二步的过程,顺序是[1,5,7,6,2,3,4]。第二次重复这两个步骤会产生样本的输出。
理论上,您可以通过找到程序重复的点,然后模拟相反的k % frequency时间来解决这个问题,其中模拟的次数frequency是唯一的。但我的问题是,当输入是:
100 1000000000
1 94
2 98
Run Code Online (Sandbox Code Playgroud)
我的程序需要 100 多秒才能运行。这个输入特别耗时,因为它运行的迭代次数最多,而且frequency …
我想对线性混合模型进行基于仿真的功率分析,lmer并从头开始重复测量。我知道这simr可能是配套的。然而,我不明白我必须做什么,也无法理解我在网上阅读的任何内容。
我想测试随机拦截模型,其中
y(z 标准化结果变量)~
a + b(z 标准化协变量)+ c + d(二元协变量) + time1 + time2(时间虚拟值指示在 t1 或 t2 而非 t0 进行的测量)+ group(一组有两个表达式)+ group:time1 + group:time2+ (1 | participant)即,使用随机截距将三个测量嵌套在参与者中。
如何模拟数据,以便能够找出以 0.80 的幂次找到 beta = .3 的交互效应(例如组:时间 1)的适当样本大小?我需要哪些额外信息才能做到这一点?