knrt.net
当前位置:首页 >> mAtlAB如何产生与时间有关的随机数 >>

mAtlAB如何产生与时间有关的随机数

先写上这句话rand('state', sum(100*clock))然后再rand

1)如果单纯为了得到sin(t)数序列,可以通过循环取得没个sin(t)的值,如下t=0:0.1:60;%范围小点,计算少些for i=1:length(t); y(i)=sin(t(i));%y就是所得数序列end2)如果为了得到sin(t)相类似的数序列,可以如下:t=0:0.1:60;%范围小点,计算少些for i=1:length(t); y(i)=sin(t(i))*rand(1,1);%y就是所得数序列end3)其他符合规律的数列,例如正态分布,二项式分布数列,如下:http://wenku.baidu.com/view/c67d9f6fb84ae45c3b358c6f.html

help rand自己看一下帮助文档吧.假如没写的话,那就估计也没人知道了

=randn(1,n),n为随机白噪声序列的长度rand(M,N):产生(0,1)均匀分布的M*N随机数矩阵如果要产生指定方差和均值的随机数设某个随机变量x均值为mu,方差为var^2,若要产生同样分布的随机变量y,但使新的随机变量参数改变,均值为mu_

是不复是要这样的?09:15:0009:15:0109:15:0209:15:0309:15:0409:15:05 (中间制省略很zd多)11:29:5711:29:5811:29:59 代码:s=datenum('9:15:00'); e=datenum('11:29:59'); d=1/3600/24; T=datestr((s:d:e)','HH:MM:ss')

matlab用命令rand可以产生0-1的随机数,用线性变换即可,y=ax+bx=0,y=15x=1,y=30a=15,b=15,如果你要的是整数,取整,用round,>> rand(1,50)ans = columns 1 through 11 0.9134 0.6324 0.0975 0.2785 0.5469 0.9575 0.9649 0.1576 0.9706

提供一个思路,可以先按常规办法获取一组随机数,然后把这组数归一化处理即可,比如用下面的办法,可以得到满足条件的随机数: a = rand( 1, 5 ); r0 = sqrt( sum( a.^2 ) ); % 向量的长度,就是每个元素的平方和再求平方根 a = a / r0; % 归一化处理 r1 = sum( a.^2 ); % 向量的平方和

t=0:.001:5;这就相当于t=0:0.001:5;就是说t从0到5变化,依次增加0.001那么也就是t=[0,0.001,0.002,0.0034.998,4.999,5.0];(中间太多省略,你懂得)

A = rand(1,10)B = A/sum(A(:))sm = sum(B(:))A = 0.1576 0.9706 0.9572 0.4854 0.8003 0.1419 0.4218 0.9157 0.7922 0.9595 B = 0.0239 0.1470 0.1450 0.0735 0.1212 0.0215 0.0639 0.1387 0.1200 0.1453 sm = 1

如果用random函数,那题目需要给出分布的种类,和区间的意义.比如,如果是正态分布,那区间是表示3sigma之间的距离,还是固定均值和方差,只是将区间外的结果

网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com