当前位置: 首页 > 程序语言 >【求助】如何将matlab中的randn函数转变为C语言形式的啊?

【求助】如何将matlab中的randn函数转变为C语言形式的啊?

作者 jianihao
来源: 小木虫 150 3 举报帖子
+关注

matlab中的randn函数和C中的srand函数一样吗?如何转变为C语言形式的啊?
下面是matlab语言的:

                s=23441;
        randn('state',s);
        r1=randn(1,L);  randn('state',s-100);  
        r2=randn(1,L);  randn('state',s-200);
%其中r1=randn(1,L);  randn('state',s-100);  是什么意思了?

多谢啦~~ 返回小木虫查看更多

今日热帖
  • 精华评论
  • ryhzd

    我没用过matlab写过程序,仅提供个人意见:
    1。百度randn可知:randn 产生正态分布的随机数或矩阵的函数
        百度srand可知  srand 随机数发生器的初始化函数,具体用法参考http://blog.sina.com.cn/s/blog_4826f7970100076h.html
    由此可知,a。这两个显然是不一样的。b,百度即可解决部分问题。
    2。c语言中的随机数发生器是rand(), 该函数产生的是均匀分布随机数。如果你想生成一个正态分布随机数,需要对rand()函数进行一些转换即可,方法有很多种,如常用的Box–Muller transform,参考文献见 《NUMERICAL RECIPES》第三版p364,或参看维基百科http://en.wikipedia.org/wiki/Box ... r_transform_%28C%29
    3。如果你只是算着玩,用c语言中的rand() 函数即可。如果你做科研,则对随机数的要求就比较高了,你可以再找高质量随机数发生器,

猜你喜欢
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓