Этот вопрос уже смущал меня несколько дней. Хотя я говорил о старших учениках, они также не могут дать ответ.
У нас есть десять ODE, в каждый из которых следует добавить термин шума. Шум определяется следующим образом. Поскольку я всегда нахожу, что не могу загрузить изображение, приведенная ниже формула может быть не очень понятной Чтобы понять, вы можете либо прочитать мое объяснение, либо перейти по этому адресу: Plos one . Вы можете найти описание уравнений непосредственно над Информация о поддержке по этому адресу
- Член белого шума
epislon_i(t)
предполагается с гауссовым распределением. epislon_i(t)
означает, что для уравнения i
, а в t
момент времени, значение шума.
- даны автокорреляции шума:
(EQ.1) 
где delta(t)
- дельта-функция Дирака, а диффузионная матрица D
определяется как
(EQ.2) 
Наша задача сосредоточена на том, как объяснить дельта-функцию Дирака в диффузионной матрице. Поскольку свойство дельта-функции Дирака равно delta(0) = Inf
и delta(t) = 0 if t neq 0
, мы не знаем, как вычислить epislon
, если попытаемся sqrt of 2D(x, t)delta(t-t')
. Поэтому мы просто предполагаем, что delta(0) = 1
и delta(t) = 0 if t neq 0
; Но мы не знаем, правильно ли это. Не могли бы вы сказать, как использовать дельта-функцию уравнения диффузии в MATLAB?
Этот вопрос связан со случайным процессом в MATLAB. Поэтому мы рассматриваем различные стохастические процессы, чтобы вдохновить наши идеи. В MATLAB процесс Виннера часто определяется как a = sqrt(dt) * rand(1, N)
. N
- количество шагов, dt
- длина шагов. Соответственно, броуновское движение может быть определено как: b = cumsum(a);
Все они связаны со случайным процессом. Тем не менее, они не связаны с процессом белого шума, который имеет ограничения на матрицу автокорреляции, отмеченную D
.
Тогда мы считаем, что мы можем просто использовать randn(1, 10)
для генерации вектора, представляющего шум. Однако, поскольку определение шума должно удовлетворять уравнению (2), это не позволяет включить шумовой член в другом уравнении с предварительно определенной частичной корреляцией (D_ij
). Затем мы пытаемся использовать mvnrnd
для генерации нормального распределения из нескольких переменных на каждом временном шаге. К сожалению, функция mvnrnd
в MATLAB возвращает матрицу. Но нам нужно вернуть вектор длины 10
.
Мы довольно смущены, поэтому не могли бы вы дать мне немного света? Большое спасибо!