matlab中的随机矩阵及其相关函数的使用
2015-06-22 16:00
330 查看
一、rand函数的用法
R=rand(n) 产生一个N*N的随机矩阵,其中的元素来自0-1均匀分布R=rand([M,N]) 产生一个M*N的随机矩阵
R=rand(size(A)) 产生一个同矩阵A大小一致的随机矩阵
举例如下:
r=a+(b-a).*rand(100,1);//产生一个[a,b]之间的100*1的随机矩阵
二、randi函数
R=randi(IMAX,N) 产生一个N*N的矩阵,其中矩阵的元素均来自于离散均匀分布1:IMAX之间R=randi(IMAX,M,N)或者randi(IMAX,[M,N]) 产生一个M*N的随机整数矩阵
R=randi([IMIN,IMAX],[M,N]) 产生一个IMIN:IMAX之间的M*N的随机整数矩阵
随机数字序列是由均匀分布的伪随机数产生器的间隔状态决定。我们可以通过控制默认的数据流来控制随机数字序列的产生。
将默认流重置到固定的状态可以产生重复的数字序列,将stream置于不同的状态会导致不同的计算。
r=randi(10,100,1,'unit32'); r=randi([-10,10],100,1); //通过结果可以发现,i1和i2产生的随机数组完全相同,这是因为默认流的状态设置为相同的状态。 defaultStream=RandStream.getDefaultStream; savedState=defaultStream.State; i1=randi(10,1,5); defaultStream.State=savedState; i2=randi(10,1,5);
三、randn函数的用法
randn(N) 产生标准正态分布的N*N的随机矩阵randn([M,N]) M*N的随机矩阵
randn(size(A)) 同A一致的随机矩阵
用法用例:
//产生一个均值为1,标准差为2的正态分布的随机数组 r=1+2.*randn(100,1);
四、randperm函数与sprand函数
randperm(n) 产生一个1-n之间的随机顺序sprand 用于产生随机稀疏矩阵(服从0-1分布)
sprand(S) 用于产生同S结构相同的随机稀疏矩阵,但元素都是0-1之间的随机数
sprand(m,n,density) m*n的随机稀疏矩阵,它的非零元素个数近似与m*n*density,density在0-1之间,且不要过大
相关文章推荐
- matlab r2014a 和vs产品交叉编译问题
- 类——属性
- MATLAB的GUI
- matlab基础学习
- Matlab中unifrnd函数使用解析
- Matlab中min/max函数的误解
- 智慧石的链接:[使用Matlab进行特征选择]
- EMD 在无损检测中超声检测中的应用
- Matlab找二维数组最大值
- UFLDL Exercise:Sparse Autoencoder
- Matlab 为什么要使用面向对象的编程——开篇
- Matlab定义类
- MATLAB新手教程
- matlab 实现分形图形-科赫曲线绘制
- Matlab计算两集合间的海明距离
- Matlab中时间字符串处理总结
- Matlab实现二进制矩阵转换为十进制
- matlab二维数组访问和删除
- MATLAB电路问题的多种解法
- MATLAB中Legend的一些控制方法