Как добавить термин «белый шум» для пары ODE, предполагая распределение по Гауссу? - PullRequest
0 голосов
/ 16 июля 2011

Этот вопрос уже смущал меня несколько дней. Хотя я говорил о старших учениках, они также не могут дать ответ.

У нас есть десять ODE, в каждый из которых следует добавить термин шума. Шум определяется следующим образом. Поскольку я всегда нахожу, что не могу загрузить изображение, приведенная ниже формула может быть не очень понятной Чтобы понять, вы можете либо прочитать мое объяснение, либо перейти по этому адресу: Plos one . Вы можете найти описание уравнений непосредственно над Информация о поддержке по этому адресу

  1. Член белого шума epislon_i(t) предполагается с гауссовым распределением. epislon_i(t) означает, что для уравнения i, а в t момент времени, значение шума.
  2. даны автокорреляции шума:

(EQ.1) eq1

где delta(t) - дельта-функция Дирака, а диффузионная матрица D определяется как

(EQ.2) eq2

Наша задача сосредоточена на том, как объяснить дельта-функцию Дирака в диффузионной матрице. Поскольку свойство дельта-функции Дирака равно 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.

Мы довольно смущены, поэтому не могли бы вы дать мне немного света? Большое спасибо!

1 Ответ

1 голос
/ 17 июля 2011

ПРИМЕЧАНИЕ : здесь я вижу два смутных вопроса: 1) как обращаться со стохастическим термином в DE и 2) как работать с дельта-функцией в DE. Оба эти вопроса связаны с математикой, и http://www.math.stackexchange.com будет лучшим местом для этого. Если у вас возник вопрос, касающийся MATLAB, я не смог его уточнить, и вам, возможно, следует добавить примеры кода, чтобы лучше проиллюстрировать вашу точку зрения. Тем не менее, я кратко отвечу на два вопроса, просто чтобы поставить вас на правильный путь.


То, что у вас здесь есть, это не ОДУ, а стохастические дифференциальные уравнения (СДУ). Я не уверен, как вы используете MATLAB для работы с этим, но такие подпрограммы, как ode45 или ode23, не помогут. Для SDE ваши обычные математические инструменты разделения переменных / метод характеристик и т. Д. Не работают, и вам нужно будет использовать исчисление Itô и интегралы Itô для работы с ними. Решения, как вы уже догадались, будут стохастическими. Чтобы узнать больше о СДУ и работе с ними, вы можете рассмотреть Стохастические дифференциальные уравнения: Введение с приложениями Бернта Оксендала и для численных решений Численное решение стохастических дифференциальных уравнений Питера Е. Клоден и Экхард Платен.

Переходя к части дельта-функции, вы можете легко справиться с ней, приняв преобразование Фурье от ОДУ. Напомним, что преобразование Фурье дельта-функции составляет 1. Это значительно упрощает DE, и вы можете использовать обратное преобразование в самом конце, чтобы вернуться к исходному домену.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...