normrnd函数 matlab,关于normrnd函数~~请教请教

  • Post author:
  • Post category:其他


a=zeros(10,10);

i=1;

j=1;

while i<=10

while j<=10

a(i,j)=normrnd(2,4);

j=j+1;

end

i=i+1;

end

输出为:

a=[ -2.6033    0.7369    2.7789    5.6589   -0.2654    3.0058   -0.9884    1.9275    0.3544    3.3290

0         0         0         0         0         0         0         0         0         0

0         0         0         0         0         0         0         0         0         0

0         0         0         0         0         0         0         0         0         0

0         0         0         0         0         0         0         0         0         0

0         0         0         0         0         0         0         0         0         0

0         0         0         0         0         0         0         0         0         0

0         0         0         0         0         0         0         0         0         0

0         0         0         0         0         0         0         0         0         0

0         0         0         0         0         0         0         0         0         0]

为什么随机数只计算了一次就不算了呢?

这个程序只是对我想法的一个模拟,我对normrnd函数有些疑问,

我把normrnd函数写进了子程序了,然后会调用这个子函数3000次,可是每次调用的结果都是一样的!

是因为子函数只计算一次呢,每次都只调用子函数的地址?

还是说子函数每次都计算,只是normrnd函数只计算了一次?

还有就是1、生成3000个随机数再一一调用

2、一次调用一次normrnd生成一个随机数,调用normrnd函数3000次

1和2的效果一样么?

感谢各位前辈的答复,唉,我都快奔溃了,我是用的思路2,要改成思路1就要涉及三维矩阵,要改一大堆参数~~