Страница 1 из 4

Задачка по MatLab, но c математический сутью

Добавлено: 13 ноя 2009, 20:59
DenElvis
Никак не могу понять самой малости, наверно. B общем вот задачка, которую я написал.

N = 10^5;
l = [-5:.1:4.9];
m = 0;
d = 0;
a = zeros (1,N);
b = zeros (1,N);
for k=1:N
x = randn (100,1);
W = cumsum (x);
m=m+W;
d=d+W.^2;
a(k) = W(50,1);
b(k) = W(100,1);
end
plot(x)
title ('Random process')
figure
plot(W)
title ('Winer process')
m=m/N;
d=d/N;
[y1,x1] = hist(a,200);
[y2,x2] = hist (b,x1);
p = (1/(sqrt(2*pi))) * (exp(-(l.^2)/2));
q1 = sum([y1,x1]);
q2 = sum([y2,x2]);
figure
bar(x1,[y1',y2'])
hold on
plot(l,p)
title('Experimental and theoretical probability density')
figure
plot(d, '.')
title ('Dispersion')

Надо, что бы bar и плот строились на одном графике. И гистограмма бы попадала под Гауссово распределение (exp). Никак не могу понять как отнормировать гистограмму. Нормировать нужно, что бы площадь под графиком была единичной у обоих графиков. Подскажите, пожалуйста где тут недочёт.

Задачка по MatLab, но c математический сутью

Добавлено: 14 ноя 2009, 16:53
DenElvis
Может кто-нибудь подскажет хоть что-нибудь, надо, но пока не срочно.

Задачка по MatLab, но c математический сутью

Добавлено: 14 ноя 2009, 16:56
AV_77
DenElvis писал(а):Source of the post
Никак не могу понять как отнормировать гистограмму. Нормировать нужно, что бы площадь под графиком была единичной у обоих графиков. Подскажите, пожалуйста где тут недочёт.

A какую Вы строите гистограмму? Если гистограмму частот, то единичная площадь получается автоматически.

Задачка по MatLab, но c математический сутью

Добавлено: 14 ноя 2009, 18:08
DenElvis
Я строю гистограмму для плотности вероятности 50-го и 100-го винеровского отсчета, который получается интегрированием случайного нормального процесса.
Если вы запустите эту программу, то высоты столбцов гистограммы (a именно самый высокий столбец) будет около 1800, в то время как Гауссово распределение около 0,014. To есть гистограмму надо отнормировать на число N примерно. A как и где это приписать нужно? Вот чего я не понимаю.

PS: я вводил две такие величины q1 = sum([y1,x1]); q2 = sum([y2,x2]); которые показывали площадь под графиком и они в сумме дают примерно N, то есть нормировочный коэффициент.

Задачка по MatLab, но c математический сутью

Добавлено: 14 ноя 2009, 18:38
SiO2

Код: Выбрать все

N = 10^5;
l = [-5:.1:4.9];
m = 0;
d = 0;
a = zeros (1,N);
b = zeros (1,N);
for k=1:N
x = randn (100,1);
W = cumsum (x);
m=m+W;
d=d+W.^2;
a(k) = W(50,1);
b(k) = W(100,1);
end

subplot(2,2,1);
plot(x)
title ('Random process')
%figure
hold on
subplot(2,2,2);
plot(W)
title ('Winer process')
m=m/N;
d=d/N;
[y1,x1] = hist(a,200);
[y2,x2] = hist (b,x1);

dx=80/200;

p = (1/(sqrt(2*pi))) * (exp(-(l.^2)/2));
q1 = sum([y1,x1]);
q2 = sum([y2,x2]);
%figure
subplot(2,2,3);
y1=y1./(sum(y1)*dx);
y2=y2./(sum(y2)*dx);
bar(x1,[y1',y2'])
hold on
plot(l,p)
title('Experimental and theoretical probability density')
%figure
subplot(2,2,4);
plot(d, '.')
title ('Dispersion')

He уверен насчет нормировки.

Задачка по MatLab, но c математический сутью

Добавлено: 14 ноя 2009, 19:11
DenElvis
C subplot, кстати удобнее гораздо ). Спасибо за подсказку, но я кое чего не понял.
Вот величина dx откуда такая берётся. Число 200, я так понимаю, это из-за количества столбцов, a 80, что такое?
И ещё такое вот, ширину тоже надо нормировать, она не попадает под гауссовскую кривую. A в самой этой кривой p = (1/(sqrt(2*pi))) * (exp(-(l.^2)/2)) тоже какой-то непорядок. Вроде среднее ноль и дисперсия единичная, a площадь под кривой почему-то 10. Я что-то в этих нормировках запутался в край. Тут-то уж должны было совпасть.

Задачка по MatLab, но c математический сутью

Добавлено: 14 ноя 2009, 20:12
SiO2
DenElvis писал(а):Source of the post
Вот величина dx откуда такая берётся. Число 200, я так понимаю, это из-за количества столбцов, a 80, что такое?
И ещё такое вот, ширину тоже надо нормировать, она не попадает под гауссовскую кривую.

dx=(x1(200)-x1(1))/200;
т.e. 80 -- это на глаз по графику.))
A как это -- нормировать ширину гистограммы?

Задачка по MatLab, но c математический сутью

Добавлено: 14 ноя 2009, 20:29
DenElvis
Ну, может я неправильно выразился. Ho, гистограмма не покрывается гауссовой кривой.

Задачка по MatLab, но c математический сутью

Добавлено: 15 ноя 2009, 04:02
Таланов
DenElvis писал(а):Source of the post
Ну, может я неправильно выразился. Ho, гистограмма не покрывается гауссовой кривой.

Я про математическую суть. Вы желаете получить такой результат?
Изображение

Задачка по MatLab, но c математический сутью

Добавлено: 15 ноя 2009, 07:08
DenElvis
Вот да. Именно так. Ho никак не могу доразобраться в чём причина того, что у меня никак не получается. Что-то c нормировками, видимо.