close all;
hold on
%Edited
M = zeros(100,500);
%
for count = 0:99
x = [];
p = 0;
for i = 1:499
n = rand(1);
if n > 0.5
p = p+1;
end
if n < 0.5
p = p-1;
end
x(i) = p;
end
%Edited
for j = 1:500
M(n,j) = x(j);
end
%
X = abs(x);
Y = 1:length(X);
ps = csapi(X,Y);
fnplt(ps)
end
hold off
grid on
title('Random Walk Distances')
xlabel('Distance from the Origin')
ylabel('Each Iteration of the Experiment')
我的意图是找出代码绘制的所有曲线的平均曲线。为此,我正在考虑为数组的每个索引寻找平均值,然后绘制该曲线,但是,我只保留最后一次迭代的值,我如何将所有值存储在大矩阵中。在每个循环后存储数组
编辑:我已经包围了我正在考虑的变化(%),但它不起作用。 国家:
错误Random_walk_1D(第30行)
M(N,j)的= X(N);
下标索引必须是实数正整数或逻辑。
[预分配内存](https://de.mathworks.com/help/matlab/matlab_prog/preallocating-arrays.html)获取正确大小的矩阵,并将结果存储到循环内该矩阵的适当索引处。 – mikkola
你有一个如何做到这一点的例子吗?如果'n'是例如 – James
'0.3',那么'M(0.3,j)'是错的,不是吗?因为好的,下标指数必须是真实的正整数或逻辑。 –