我需要从正常分布的0到1920像素范围内选择一个像素,但我不知道如何在MatLab中执行此操作。我知道我可以使用normrnd()
来检索给定mu
和sigma
的随机值,但是如何将这个应用于我的情况?例如,从一系列正态分布的数字中进行选择
mu
可能在500像素和sigma
100像素。
我目前的做法是这样的
function xpos = apply_normal_distribution(mu, sigma, min_xpos=1, max_xpos=1920)
% Applies normal distribution with median mu and standard deviation sigma
% xpos will always be: min <= xpos <= max
xpos = ceil(normrnd(mu, sigma));
if xpos > max_xpos
xpos = max_xpos;
elseif xpos < min_xpos
xpos = min_xpos;
endif
end
所以我只是用normrnd
和切断如果该值是比我的界限更高或更低。不知道这有多好,但它有效。
你的代码在哪里?你有什么尝试? –
没什么,因为我不知道如何开始。只尝试了'normrnd()'函数,但无法弄清楚如何在这里应用它。不幸的是,我的统计知识并不是最好的。 – herhuf
你可能不会在这里得到很多帮助。通常情况下,问题包含特定项目,用户代码(努力)作为问题的一部分。 –