2014-08-10 2 views
0

Я аспирант биологии и пытаюсь закодировать определенное поведение в модели в R и иметь некоторые проблемы с «потерянным переводом». Код, который я придерживаюсь после публикации. Я пытаюсь смоделировать эту систему:Моделирование стохастического мрамора в ванной. e

Представьте себе ванну с вибрирующим мрамором. Поверхность ванны определяется функцией «ванна». Я хочу найти способ: Имитировать вибрацию мрамора на баке, учитывая параметр «температура». При низкой/нулевой темпе, он должен сидеть на дне и в качестве темпа. увеличивается, он должен исследовать более высокие стороны. Я хочу сохранить их в векторе и уметь видеть путь, на котором выглядит данная реализация этого стохастического процесса.

Моя проблема заключается в том, чтобы не описать поверхность, на которой движется мрамор, а скорее вероятность того, что она находится в любой точке на этой поверхности с учетом начального значения, времени и других параметров (параметры кривизны a и b, температурный параметр и, возможно, другие).

Я в основном ищу аналоговый к этому коду для нормального распределения:

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

спасибо за любые идеи, коду или ссылки на полезные ресурсы.

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 
+2

Параметры: начальное местоположение, температура, «возможно, другие»? Вы действительно не поняли, какую математическую или физическую модель использовать, но вы хотите, чтобы мы как определяли ее, так и кодировали ее для вас? Кажется, что вам нужно сначала определить вашу модель (возможно, выполнив «домашнюю работу», изучая текст дифференциального уравнения). Тогда это станет проблемой кодирования. –

+0

@BondedDust Осветите немного; бесполезно делать отрицательные предположения, а затем скулить по вашему воображаемому сценарию. Если у вас нет конструктивных комментариев, просто оставайтесь в стороне. Sheesh. –

ответ

1

Я предполагаю, что вы на самом деле не изучает ванны - возможно, это поможет другим понять, что происходит, если вы говорите, что фактическая тема.

Я могу видеть как минимум два направления, исходя из существующего описания.

(1) Модель движения мрамора с использованием дифференциальных уравнений. Вероятно, вы можете получить всевозможные интересные эффекты - для некоторых комбинаций параметров, мрамор получает кинетическую энергию и, в конце концов, вырывается из ванны; для других движение является периодическим; для остальных - движение хаотично. Это может быть увлекательно, но я предполагаю, что это намного больше деталей, чем вам действительно нужно.

(2) Игнорируйте настоящую механику и притворитесь, что мрамор - это атом в броуновском движении на поверхности ванны. Повышенная температура делает смещение атома более крупным. Этот сценарий, вероятно, гораздо легче анализировать; это, вероятно, проблема в статистической механике. Он также напоминает алгоритмы Маркова и алгоритмы Монте-Карло.

Удачи и получайте удовольствие; звучит как интересная проблема.

+0

Это может быть интересно. Но это проблема кодирования ... еще? И является ли это ответом? Я бы сказал «нет» на оба вопроса. –