超级大玉米 2021-10-28 16:08 采纳率: 73.7%
浏览 33
已结题

关于matlab的问题求老哥解惑

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

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

  • 写回答

1条回答 默认 最新

  • 技术专家团-Joel 2021-10-28 16:26
    关注

    你好同学,两个都可以用哦
    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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月5日
  • 已采纳回答 10月28日
  • 修改了问题 10月28日
  • 创建了问题 10月28日