Новости:

Подпишитесь на рассылку новых сообщений форума через службу рассылок: Subscribe.ru

Главное меню

Модель диффузии

Автор Leni Fisher, 09.11.2014, 18:33

« назад - далее »

Leni Fisher

Нужно создать программу для модели Эренфестов. Решила сделать это в экселе, так как с программированием не очень дружу. Ниже напишу задание. Главная цель - распечатать график: по оси икс - номера шагов, по игреку - состояния (т.е. количество шаров в левой корзине). Эксперимент такой: две корзины, сначала все шары в правой корзине, они пронумерованы. Потом случайным образом выбираем номер (кидаем кубик или генератор случ. чисел используем). Шар с выпавшим номером перекладываем в другую корзину. Номер состояния=количеству шаров в левой корзине. Нужна прога для произвольного числа шаров и шагов. Есть алгоритм. Не понимаю, как x(i) сделать в экселе. Логический оператор не реагирует на сравнение с ячейкой, содержащей функцию СЛЧСЛ (рандомный генератор), всегда пишет мне "нет, не совпадает".
Пишу алгоритм:
n шаров: 1<=i<=n,
x(i)=0(если шар с номером i в правой корзине), =1 (если шар с номером i в левой корзине).
m шагов, 1<=k<=m,
S(k) - число шаров в левой корзине после к-ого шага, т.е. номер состояния.
p(r)-число повторений состояния с номером r, 0<=r<=n.
Начальные данные: n,m;S(0)=0;x(i)=0;1<=i<=n;p(0)=1;p(r)=0; 1<=r<=n, т.е. все шары в правой корзине.
Один шаг цикла 1<=k<=m.
Случайный выбор i:{1,2,...,n},
перекладывание шара с эти номером: x(i)=1-x(i),
определение состояния: S(k)=S(k-1)-1+2*x(i),
исправление числа повторений состояния:r=S(k),p(r)=p(r)+1;
итог: распечатать график и усредненное приближение неподвижного вектора t(r)=p(r)/(m+1)
Координатная плоскость графика: ось икс - шаги 1<=k<=m, ось игрек - состояния 0<=r<=n



IKor

Во-первых, необходимо приложить файл примера (в формате MS Excel) с указанием исходной ситуации и желаемого результата.

Во-вторых, судя по представленному описанию, вне зависимости от выпавшего случайно номера шара на каждом из шагов количество шаров в левой корзине (состояние) увеличивается на один - следовательно, график получится линейным.
Остается вопрос: что делать, если случайно "выбрасывается" номер уже переложенного в "левую корзину" шара?
Или выбор делается случайным образом из оставшихся в правой корзине шагов?