我正在应用伯努利随机变量的 ML 估计。我最初有以下代码:
muBern = 0.75;
bernoulliSamples = rand(1, N);
bernoulliSamples(bernoulliSamples < muBern) = 1;
bernoulliSamples(bernoulliSamples > muBern & bernoulliSamples ~= 1) = 0;
bernoulliSamples; % 1xN matrix of Bernoulli measurements, 1's and 0's
estimateML = zeros(1,N);
for n = 1:N
estimateML(n) = (1/n)*sum(bernoulliSamples(1:n)); % The ML estimate for muBern
end
这工作得相当好,但代码的每次运行只是N=100
观察的一个可能结果。我想重复这个实验I=100
次数并取所有结果的平均值,以获得准确代表实验的解决方案。
muBern = 0.75;
bernoulliSamples = rand(I, N);
bernoulliSamples(bernoulliSamples < muBern) = 1;
bernoulliSamples(bernoulliSamples > muBern & bernoulliSamples ~= 1) = 0;
bernoulliSamples; % IxN matrix of Bernoulli measurements, 1's and 0's
estimateML = zeros(I,N);
for n = 1:N
estimateML(n,:) = (1/n)*sum(bernoulliSamples(1:n,2)); % The ML estimate for muBern
end
我想知道这个for
循环是否正在做我想做的事情:每一行代表一个完全不同的实验。第二个代码实例是否与第一个代码实例做同样的事情,只是有 100 个不同的结果作为 100 个不同实验的原因?