关于matlab的问题求老哥解惑

网上有的说改randn有的说改normrnd有什么区别呢

网上有的说改randn有的说改normrnd有什么区别呢

你好同学,两个都可以用哦
normrnd(mu,sigma)意思是生成均值为mu、标准差为sigma 的正态分布随机数。
randn意思是生成均值为0、标准差参数为 1 的正态分布随机数。
其实用a = randn*sigma + mu就是生成均值为mu、标准差为 sigma 的正态分布随机数,一个意思。
如果要改成半径为标准差的高斯分布,应该这么做

r = sqrt(5); %这是你的半径
n = 1000; % 生成点的个数
x = normrnd(0,r,[n,1]);% 生成1000个半径为标准差,均值为0的随机坐标x,你也可以用x=rand(n,1)*r替代
y = normrnd(0,r,[n,1]);% 生成1000个半径为标准差,均值为0的随机坐标y,你也可以用y=rand(n,1)*r替代
plot(x,y,'r.')

看看效果:

img