У меня есть две проблемы в Mathematica и я хочу сделать их в Matlab:
measure := RandomReal[] - 0.5
m = 10000;
data = Table[measure, {m}];
fig1 = ListPlot[data, PlotStyle -> {PointSize[0.015]}]
Histogram[data]
Matlab:
measure =@ (m) rand(1,m)-0.5
m=10000;
for i=1:m
data(:,i)=measure(:,i);
end
figure(1)
plot(data,'b.','MarkerSize',0.015)
figure(2)
hist(data)
И это дает мне:
???Произошла следующая ошибка при преобразовании из function_handle в double: Ошибка использования ==> double
Если я сделаю:
measure =rand()-0.5
m=10000;
data=rand(1,m)-0.5
, тогда я получу правильные результаты в plot1, но в plot2 ось y = неверна.
Кроме того, если у меня есть это в Mathematica:
steps[m_] := Table[2 RandomInteger[] - 1, {m}]
steps[20]
Walk1D[n_] := FoldList[Plus, 0, steps[n]]
LastPoint1D[n_] := Fold[Plus, 0, steps[n]]
ListPlot[Walk1D[10^4]]
Я сделал это:
steps = @ (m) 2*randint(1,m,2)-1;
steps(20)
Walk1D =@ (n) cumsum(0:steps(n)) --> this is ok i think
LastPointold1D= @ (n) cumsum(0:steps(n))
LastPoint1D= @ (n) LastPointold1D(end)-->but here i now i must take the last "folding"
Walk1D(10)
LastPoint1D(10000)
plot(Walk1D(10000),'b')
, и я получаю пустойматрица и без сюжета ..