Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.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
R 在浴缸中模拟随机大理石。E_R_Statistics_Distribution_Stochastic_Stochastic Process - Fatal编程技术网

R 在浴缸中模拟随机大理石。E

R 在浴缸中模拟随机大理石。E,r,statistics,distribution,stochastic,stochastic-process,R,Statistics,Distribution,Stochastic,Stochastic Process,我是一名生物学研究生,试图用R语言将某种行为编码成一个模型,并遇到了一些“在翻译中迷失”的问题。我的代码跟在帖子后面。我正在尝试对该系统进行建模: 想象一个浴缸里有一块振动的大理石。浴缸的表面由“浴缸”功能给出。我想找到一种方法:在给定“温度”参数的情况下,模拟浴缸上大理石的振动。在低温/零度温度下,它应位于底部,并作为温度。增加,它应该探索更高的侧面。我想把它们存储在一个向量中,并且能够看到这个随机过程的给定实现的路径 我的问题不是计算出描述大理石移动表面的函数,而是在给定起始值、时间和其他参

我是一名生物学研究生,试图用R语言将某种行为编码成一个模型,并遇到了一些“在翻译中迷失”的问题。我的代码跟在帖子后面。我正在尝试对该系统进行建模:

想象一个浴缸里有一块振动的大理石。浴缸的表面由“浴缸”功能给出。我想找到一种方法:在给定“温度”参数的情况下,模拟浴缸上大理石的振动。在低温/零度温度下,它应位于底部,并作为温度。增加,它应该探索更高的侧面。我想把它们存储在一个向量中,并且能够看到这个随机过程的给定实现的路径

我的问题不是计算出描述大理石移动表面的函数,而是在给定起始值、时间和其他参数(曲率参数a和b、温度参数,可能还有其他参数)的情况下,它在该表面上任何点的概率

我基本上在寻找正态分布代码的模拟:

bm <- function(x, x0, t, sigma) {
return(dnorm(x, mean=x0, sd=sigma*sqrt(t)))
}

bm我猜你实际上并没有在研究浴缸——如果你说的是真正的主题,也许会帮助其他人理解发生了什么

根据现有的描述,我至少可以看到两个方向

(1) 使用微分方程模拟大理石的运动。你可能会得到各种有趣的效果——对于一些参数组合,大理石获得动能,最终从浴缸中射出;对其他人来说,运动是周期性的;对其他人来说,这一动议是混乱的。这可能很吸引人,但我猜这比你真正需要的要详细得多

(2) 忽略实际力学,假设大理石是浴缸表面布朗运动的原子。温度升高使原子的抖动变大。这种情况可能更容易分析;这可能是统计力学中一个已解决的问题。它也让人想起马尔可夫链蒙特卡罗算法


祝你好运,玩得开心;听起来像是一个有趣的问题。

参数:起始位置、温度,“可能其他”?你还没有真正弄清楚要使用什么数学或物理模型,但你想让我们都定义它,然后为你编码?似乎您首先需要定义您的模型(可能是通过学习一些微分方程文本来完成“家庭作业”)。那么它将成为一个编码问题。@Bonded必须稍微轻一点;做出消极的假设,然后抱怨你想象的情景是没有用的。如果你没有任何建设性的意见,那就别管它。嘘,这可能很有趣。但是,这是一个编码问题吗?这是否构成了一个答案?我会对这两个问题说“不”。
BATHTUB#
##Loads packages
library(ggplot2) #for graphing purposes
##Defines the composite distribution bathtub, which is composed of two Beta distributions
bathtub <- function(b, a){
dbeta(x, 1, b) + dbeta(x, a, 1)
}

##Initiates the parameters. 
b = 5 #How sharp the higher bound is
a = 20 #How sharp the lower bound is
x <- seq(0, 1, length=101) #high density sample of (0,1)

##Plots 
bathtub <- bathtub(a,b) #R likes certain kinds of variables. 
qplot(x, bathtub, geom="line") #Plots smooth function  pdf(bathtub)
qplot(x, 1-bathtub, geom="line")#this is the "likelihood" function