关于rand函数的问题
function my=ey(n)my=2*pi*rand(1,1);
想让n=const后ey(n)即不变,也就是想让如fprintf('%f\n%f',ey(4),ey(4)) 输出两个同样的数,该怎么办?
最好在function函数里面修改
多谢
[ 本帖最后由 dc442 于 2008-11-5 09:15 编辑 ] 有点矛盾!?即然使用rand又要相同?
回复 沙发 ChaChing 的帖子
n取不同的数时不同,n取相同的数时相同回复 板凳 dc442 的帖子
在每次计算随机数组之前,先把rand的状态重置(reset)试试。重置随机数生成器的语句是 rand('state',0)
回复 地板 sogooda 的帖子
rand('state',0);
rand(3)
rand('state',0);
rand(4)
rand('state',0);
rand(3)
rand('state',0);
rand(4)
ans =
0.9501 0.4860 0.4565
0.2311 0.8913 0.0185
0.6068 0.7621 0.8214
ans =
0.9501 0.8913 0.8214 0.9218
0.2311 0.7621 0.4447 0.7382
0.6068 0.4565 0.6154 0.1763
0.4860 0.0185 0.7919 0.4057
ans =
0.9501 0.4860 0.4565
0.2311 0.8913 0.0185
0.6068 0.7621 0.8214
ans =
0.9501 0.8913 0.8214 0.9218
0.2311 0.7621 0.4447 0.7382
0.6068 0.4565 0.6154 0.1763
0.4860 0.0185 0.7919 0.4057
回复 ChangChing
数值算法生成的应该叫伪随机数,并不是真正意义的随机数,所以也可能是可重复的。回复 6楼 sogooda & 3楼 dc442的帖子
谢谢! 我了解了
页:
[1]