logo
практикум по матлабу

6.3. Программа, изображающая случайные блуждания

В приводимой ниже программе смещения задаются датчиком случайных чисел. В качестве смещения задается величина ∆x = dh (2.0 rand − 1.0), где rand – квазислучайное число, вырабатываемое компьютером, dh – параметр случайного блуждания, масштаб «шага». При каждом обращении к процедуре rand(m,n) компьютер выдает матрицу m x n случайных чисел, лежащих в интервале от 0 до 1, причем для нашей задачи (и для множества других) выбор этих чисел неотличим от случайного, а распределение этих чисел в указанном интервале равномерное. Легко видеть, что распределение величин ∆x окажется равномерным в интервале

−dh < x < dh:

dw

 

=

 

10

при |x| > dh,

(14)

dx

 

 

2dh

при

x

< dh.

 

 

 

 

 

 

 

|

|

 

 

Средний квадрат смещения при одном шаге

 

 

 

 

dw

dh2

 

(∆x)2 =

(∆x)2

 

dx =

 

.

(15)

dx

3

−∞

 

 

 

 

 

 

Получаемые нами смещения на первых одном – двух шагах совсем не похожи на броуновское движение, так как функция распределения еще далека от гауссовой, однако спустя три – пять шагов функция распределения начинает отлично имитировать гауссову и смещения становятся практически такими же, как блуждания броуновских частиц. Так и должно получиться согласно теории вероятностей.

Предлагаемые ниже задания имеют главной целью иллюстрацию описанных закономерностей.

Задание 1. Получите на экране картину движения точек, моделирующих случайные блуждания в соответствие с описанной выше функцией распределения частиц по координате x. Для этого воспользуйтесь начальным вариантом программы diffus.m, имеющимся в пакете MPP, который приведен далее.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Стартовая программа для демонстрации случайных %

%блужданий %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

n =500;

% Число частиц

dh =.02;

% Параметр случайного распределения

% Задание вектор-столбцов координат точек