标签: simulation

计算机模拟:资源如何密集?

题:

  • 计算机模拟如何,通常是资源密集型?

例如,Simul8:一个离散事件模拟包 - 为什么这个计算密集,哪些因素(计算)对此有贡献?

simulation computer-science

1
推荐指数
1
解决办法
306
查看次数

改变圆周运动的速度

我正在寻找一种平稳增加或减少圆周运动速度的方法.

使用圆的参数方程,我可以随时间移动圆中的对象:

x = center_x + radius * sin(time * speed)
y = center_y + radius * cos(time * speed)
Run Code Online (Sandbox Code Playgroud)

这种方法的问题在于我不能简单speed = speed + 1地加速对象,因为它会导致不稳定的运动.这是有道理的,因为基于绝对值而不是相对于对象的先前位置,每帧重新计算x和y值.

另一种方法可能是使用表示对象速度的向量,然后对向量应用圆周运动:

v_x = radius * sin(time * speed)
v_y = radius * cos(time * speed)
x = x + v_x
y = y + v_y
Run Code Online (Sandbox Code Playgroud)

这种方法的问题在于,如果我改变速度,那么半径将增大或缩小.这是有道理的,因为运动是相对于当前位置的,所以如果我改变速度,基本上会跳过时间.

我能想到的一个可能有用的实现是使用从对象指向圆心的向量.然后我可以通过使用垂直向量计算对象位置处圆的切线,对其进行归一化并按速度进行缩放.我还没有实现这个,因为对于像这样的问题似乎有些过分,所以如果存在更简单的解决方案,请告诉我.谢谢!

simulation performance geometry physics

1
推荐指数
1
解决办法
2214
查看次数

Javascript事件模拟库

你知道一个用于DOM事件模拟的JS库吗?我知道这个操作可以完成,但我找不到任何库来做.

更新:我试着更好地解释我的问题.Javascript可以模拟用户点击等事件,我正在寻找一个帮助我完成此操作的库.

javascript simulation events dom

1
推荐指数
1
解决办法
2542
查看次数

Python,SimPy:在函数内部使用yield

Helo,我正在SimPy中构建一个相对复杂的离散事件仿真模型.

当我尝试将yield语句放在函数中时,我的程序似乎不起作用.下面显示了一个示例.

import SimPy.SimulationTrace as Sim
import random

## Model components ##
class Customer(Sim.Process):
    def visit(self):
        yield Sim.hold, self, 2.0
        if random.random()<0.5:
            self.holdLong()
        else:
            self.holdShort()

    def holdLong(self):
        yield Sim.hold, self, 1.0
        # more yeild statements to follow

    def holdShort(self):
        yield Sim.hold, self, 0.5
        # more yeild statements to follow

## Experiment data ##
maxTime = 10.0 #minutes

## Model/Experiment ##
#random.seed(12345)
Sim.initialize()
c = Customer(name = "Klaus") #customer object
Sim.activate(c, c.visit(), at = 1.0)
Sim.simulate(until=maxTime)
Run Code Online (Sandbox Code Playgroud)

我从运行中获得的输出是:

0 activate <Klaus > …
Run Code Online (Sandbox Code Playgroud)

python simulation simpy

1
推荐指数
1
解决办法
1469
查看次数

从R中的矩阵绘制列

我已经创建了一个存储在20x7矩阵中的模拟值矩阵(对7列数字进行了20次观察;矩阵称为输出).列从模拟输出.

运行模拟后,我包含了列名:

colnames(output) <- c('level', 'value1','value2','value3',
                         'value4','value5','value6')
Run Code Online (Sandbox Code Playgroud)

矩阵看起来很干净.观察时:

output  
Run Code Online (Sandbox Code Playgroud)

有没有办法从矩阵中绘制这些列?我已经尝试了下面的代码(以及其他变体),但它不起作用.

 plot(level$output, value1$output)
Run Code Online (Sandbox Code Playgroud)

谢谢!

simulation plot r matrix

1
推荐指数
1
解决办法
3万
查看次数

为什么我不应该使用像素作为Box2D的单位?

在手册中它说我应该使用小单位(0.1-10米).不鼓励使用像素作为度量单位.但是为什么Box2D能够更好地运行,并且比我使用小型单元时具有更好的模拟效果?

simulation physics box2d

1
推荐指数
1
解决办法
3285
查看次数

代码执行中的小问题,python卡游戏模拟

给所有可能相关的人,

这是纸牌游戏模拟的一些代码.(战争游戏).当我运行它时,我收到此错误:

player0.append(player1[range(warcard1 + 1)] 
      ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

我不知道错误是什么,但也许有人在这里.希望有人可以为我解决问题.当然,代码仍然是一项正在进行的工作,所以如果有任何其他错误,我会很高兴听到他们及其可能的解决方案.

import random

cards = ['ace', 'ace', 'ace', 'ace', '1', '1', '1', '1', '2', '2', '2', '2', '3', '3', '3', '3', '4', '4', '4', '4', '5', '5', '5', '5', '6', '6', '6', '6', '7', '7', '7', '7', '8', '8', '8', '8', '9', '9', '9', '9', '10', '10', '10', '10', 'jack', 'jack', 'jack', 'jack', 'queen', 'queen', 'queen', 'queen', 'king', 'king', 'king', 'king']

order = ['ace', '1', '2', '3', '4', '5', '6', '7', …
Run Code Online (Sandbox Code Playgroud)

python simulation game-engine

1
推荐指数
1
解决办法
327
查看次数

函数`sample`在R中,这两个代码片段是等价的吗?

这两个代码片段是否相同,即它们是否做同样的事情?

对于我从帮助了解sample他们应该做同样的事情,即两个s1s2是一个随机的子集x.

第一个片段:

sz <- 5
x <- 1:10
s1 <- sample(x,size=sz,replace=F)
Run Code Online (Sandbox Code Playgroud)

第二个片段:

sz <- 5
x <- 1:10
s2 <- c()
idx <- sample(1:length(x),size=sz,replace=F)
for ( i in idx ) {
    s2 <- c(s2,x[i])
}
Run Code Online (Sandbox Code Playgroud)

simulation statistics r

1
推荐指数
1
解决办法
146
查看次数

如何在Socket.io中模拟延迟?

目前,我正在localhost连接到我的路由器的设备上测试我的Node.js,Socket.io服务器.

出于测试目的,我想模拟发送消息的延迟,因此我知道它对全世界的用户来说会是什么样的.

有没有有效的方法呢?

simulation latency websocket node.js socket.io

1
推荐指数
1
解决办法
1658
查看次数

与顶级模型中的相同参数共享dymola中的所有组件

我试着用这样的东西:

使用Model1和带有参数的模型进行Toplevel.

Parametermodel:参数heat_coeffi = 50;

Model1:outer [Path:Parametermodel] name; 参数heat_coeffi = name.heatcoeffi;

错误消息是:"找到内部模型的非内部参数模型无法找到匹配的内部....

我尝试使用它就像他们使用原始Modelica Lib中的System一样.

simulation modelica dymola

1
推荐指数
1
解决办法
74
查看次数