rand ----MATLAB (经典)
最近一直在学习matlab,我相信有一些同学已经发现,最近更新的关于matlab的内容比较多,
希望能够帮助到未来的小学弟学妹们!
永远爱你们的
————新宝宝
rand
均匀分布的随机数全页折叠
语法
X = rand
X = rand(n)
X = rand(sz1,…,szN)
X = rand(sz)
X = rand(_,typename)
X = rand(_,’like’,p)
说明
示例
X = rand 返回一个在区间 (0,1) 内均匀分布的随机数。
示例
X = rand(n) 返回一个 n×n 的随机数矩阵。
示例
X = rand(sz1,…,szN) 返回由随机数组成的 sz1×…×szN 数组,其中 sz1,…,szN 指示每个维度的大小。例如:rand(3,4) 返回一个 3×4 的矩阵。
示例
X = rand(sz) 返回由随机数组成的数组,其中大小向量 sz 指定 size(X)。例如:rand([3 4]) 返回一个 3×4 的矩阵。
示例
X = rand(_,typename) 返回由 typename 数据类型的随机数组成的数组。typename 输入可以是 ‘single’ 或 ‘double’。您可以使用上述语法中的任何输入参数。
示例
X = rand(_,’like’,p) 返回由 p 等随机数组成的数组;也就是与 p 同一对象类型。您可以指定 typename 或 ‘like’,但不能同时指定两者。
注意
不建议对 rand 函数使用 ‘seed’、’state’ 和 ‘twister’ 输入。改用 rng 函数。有关详细信息,请参阅更换阻拦的 rand 和 randn 语法。
示例
全部折叠
由随机数组成的矩阵
生成一个由介于 0 和 1 之间的均匀分布的随机数组成的 5×5 矩阵。
r = rand(5)
r =
0.8147 0.0975 0.1576 0.1419 0.6557
0.9058 0.2785 0.9706 0.4218 0.0357
0.1270 0.5469 0.9572 0.9157 0.8491
0.9134 0.9575 0.4854 0.7922 0.9340
0.6324 0.9649 0.8003 0.9595 0.6787
指定区间内的随机数
生成一个由区间 (-5,5) 内均匀分布的数字组成的 10×1 列向量。
r = -5 + (5+5)*rand(10,1)
r =
3.1472
4.0579
-3.7301
4.1338
1.3236
-4.0246
-2.2150
0.4688
4.5751
4.6489
一般来说,可以使用公式 r = a + (b-a).*rand(N,1) 生成区间 (a,b) 内的 N 个随机数。
随机整数
使用 randi 函数(而不是 rand)生成在 10 和 50 之间均匀分布的 5 个随机整数。
r = randi([10 50],1,5)
r =
43 47 15 47 35
随机复数
生成一个实部和虚部位于区间 (0,1) 内的随机复数。
a = rand + 1i*rand
a =
0.8147 + 0.9058i
重置随机数生成函数
保存随机数生成函数的当前状态并创建一个由随机数组成的 1×5 向量。
s = rng;
r = rand(1,5)
r =
0.8147 0.9058 0.1270 0.9134 0.6324
将随机数生成函数的状态恢复为 s,然后创建一个由随机数组成的新 1×5 向量。值与之前相同。
rng(s);
r1 = rand(1,5)
r1 =
0.8147 0.9058 0.1270 0.9134 0.6324
始终使用 rng函数(而不是 rand 或 randn 函数)指定随机数生成函数的设置。有关详细信息,请参阅 更换阻拦的 rand 和 randn 语法。
由随机数组成的三维数组
创建一个由随机数组成的 3×2×3 数组。
X = rand([3,2,3])
X =
X(:,:,1) =
0.8147 0.9134
0.9058 0.6324
0.1270 0.0975
X(:,:,2) =
0.2785 0.9649
0.5469 0.1576
0.9575 0.9706
X(:,:,3) =
0.9572 0.1419
0.4854 0.4218
0.8003 0.9157
指定随机数的数据类型。
创建一个由其元素为单精度值的随机数组成的 1×4 向量。
r = rand(1,4,’single’)
r = 1x4 single row vector
0.8147 0.9058 0.1270 0.9134
class(r)
ans =
‘single’
根据现有数组克隆大小
创建一个由正态分布的随机数组成并且大小与现有数组相同的矩阵。
A = [3 2; -2 1];
sz = size(A);
X = rand(sz)
X =
0.8147 0.1270
0.9058 0.9134
它是一种将前两行代码合并成一行的常见模式:
X = rand(size(A));
根据现有数组克隆大小和数据类型
创建一个由单精度随机数组成的 2×2 矩阵。
p = single([3 2; -2 1]);
创建一个与 p 具有相同大小和数据类型的由随机数组成的数组。
X = rand(size(p),’like’,p)
X = 2x2 single matrix
0.8147 0.1270
0.9058 0.9134
class(X)
ans =
‘single’
克隆分布式数组
如果您拥有 Parallel Computing Toolbox™,请创建一个由 single 基础数据类型的随机数组成的 1000×1000 分布式数组。对于 distributed 数据类型,’like’ 语法除了克隆主数据类型,还克隆基础数据类型。
p = rand(1000,’single’,’distributed’);
Starting parallel pool (parpool) using the ‘local’ profile …
connected to 6 workers.
创建一个与 p 具有相同大小、主数据类型和基础数据类型的由随机数组成的数组。
X = rand(size(p),’like’,p);
class(X)
ans =
distributed
classUnderlying(X)
ans =
single
输入参数
全部折叠
n - 方阵的大小
整数值
方阵的大小,指定为整数值。
如果 n 为 0,则 X 为一个空矩阵。
如果 n 为负数,则将其视为 0。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
sz1,…,szN - 每个维度的大小(作为单独参数)
整数值
每个维度的大小,指定为包含整数值的单独参数。
如果任何维度的大小为 0,则 X 为空数组。
如果任何维度的大小为负值,则其将被视为 0。
对于第二个维度以上的维度,rand 忽略大小为 1 的尾部维度。例如,rand(3,1,1,1) 生成由随机数组成的 3×1 向量。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
sz - 每个维度的大小(作为行向量)
整数值
每个维度的大小,指定为由整数组成的行向量。此向量的每个元素指示对应维度的大小:
如果任何维度的大小为 0,则 X 为空数组。
如果任何维度的大小为负值,则其将被视为 0。
对于第二个维度以上的维度,rand 忽略大小为 1 的尾部维度。例如,rand([3,1,1,1]) 生成由随机数组成的 3×1 向量。
示例: sz = [2,3,4] 创建一个 2×3×4 数组。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
typename - 要创建的数据类型(类)
‘double’ (默认) | ‘single’
要创建的数据类型(类),指定为 ‘double’、’single’、、、、、、、、、 或提供 rand 支持的其他类的名称。
示例: rand(5,’single’)
p - 要创建的数组的原型
数值数组
要创建的数组的原型,指定为数值数组。
示例: rand(5,’like’,p)
数据类型: single | double
复数支持: 是
提示
rand 生成的数字序列由均匀伪随机数生成函数的内部设置决定,该生成函数是 rand、randi 和 randn 的基础。您可以使用 rng 控制这一共享的随机数生成函数。
希望我的整理能够帮助到各位小可爱!
我很弱,所以我要不断努力!
努力是因为不想让在乎的人失望!
博主整理不易,如果喜欢推荐关注一下博主哦!
博主喜欢广交好友下面是我的联系方式:
QQ:1263030049
加好友前请注明原因谢谢!
rand ----MATLAB (经典)的更多相关文章
- Matlab神经网络验证码识别
本文,将会简述如何利用Matlab的强大功能,调用神经网络处理验证码的识别问题. 预备知识,Matlab基础编程,神经网络基础. 可以先看下: Matlab基础视频教程 Matlab经典教程--从 ...
- Atitit MATLAB 图像处理 经典书籍attilax总结
Atitit MATLAB 图像处理 经典书籍attilax总结 1.1. MATLAB数字图像处理1 1.2. <MATLAB实用教程(第二版)>((美)穆尔 著)[简介_书评_在线阅读 ...
- 经典功率谱估计及Matlab仿真
原文出自:http://www.cnblogs.com/jacklu/p/5140913.html 功率谱估计在分析平稳各态遍历随机信号频率成分领域被广泛使用,并且已被成功应用到雷达信号处理.故障诊断 ...
- MATLAB对于文本文件(txt)数据读取的技巧总结(经典中的经典)
振动论坛原版主eight的经典贴http://www.chinavib.com/thread-45622-1-1.html MATLAB对于文本文件(txt)进行数据读取的技巧总结(经典中的经典)由于 ...
- Matlab中rand('state',sum(clock))解析
一.问题来源 来自于一份PSO代码,PSO中需要初始化粒子位置和速度. 二.问题探究 众所周知,Matlab中的rand()函数产生的是伪随机数,但一般用来也可以接受.但是,如果我们知道伪随机数的初始 ...
- Matlab中Rand()函数用法
一.理论准备 matlab函数randn:产生均值为0,方差 σ^2 = 1,标准差σ = 1的正态分布的随机数或矩阵的函数. 用法:Y = randn(n),返回一个n*n的随机项的矩阵.如果n不是 ...
- MATLAB——画图(经典)
今天我发现一个非常奇怪的事情,如果你喜欢一样东西或者说是要干一件事,并不一定要把它所在领域的所有都做好, 只要做好你喜欢的就可以了,正如现在的我,突然想学习MATLAB(想画图)那么你只要把一些基础的 ...
- (转) 经典功率谱估计及Matlab仿真
原文出自:http://www.cnblogs.com/jacklu/p/5140913.html 功率谱估计在分析平稳各态遍历随机信号频率成分领域被广泛使用,并且已被成功应用到雷达信号处理.故障诊断 ...
- matlab基本函数 randn,rand,orth
一起来学演化计算-matlab基本函数randn, rand, orth 觉得有用的话,欢迎一起讨论相互学习~Follow Me randn X = randn 随机从正态分布中选一个数作为结果 X ...
随机推荐
- 并发编程(五):CAS
在atomic包中,大多数类都是借助unsafe类来实现的,如以下代码 public static AtomicInteger count = new AtomicInteger(0); privat ...
- ffmpeg 时间戳处理
视频的显示和存放原理 对于一个电影,帧是这样来显示的:I B B P.现在我们需要在显示B帧之前知道P帧中的信息.因此,帧可能会按照这样的方式来存储:IPBB.这就是为什么我们会有一个解码时间戳和一个 ...
- form表单序列化为Jquery对象
<form id="DailyFinancial" > @*class="form-inline"*@ <div class="fo ...
- threesum
算法题 问题描述:在一些给定的数中,找到三个数,他们相加的和是0,并且这三个数的组合是不能重复的 例子: input [-1, 0, -1, 2, 1] Output [[-1, 1 ,0], [-1 ...
- jQuery的学习笔记2
jQuery学习笔记 Day two Chapter two 选择器 类选择器 语法结构:$(“.classname”) javascript里面没有类选择器所以这个时候使用jQuery会更加的简便 ...
- gradle 将依赖打入Jar包的方法
使用的是IDEA,直接引入 plugins { id 'com.github.johnrengelman.shadow' version '1.2.3' } 放在build.gradle的最上面,然后 ...
- spring 整合 shiro框架
shiro是用来干嘛的?从它的官网上(http://shiro.apache.org/)基本可以了解到,她主要提供以下功能: (1)Authentication(认证) (2)Authorizatio ...
- Robot Framework和Selenium简介
1.1 RF简介 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行.主要用于 ...
- java 引用数据类型(类)
我们可以把类的类型为两种: 第一种,Java为我们提供好的类,如Scanner类,Random类等,这些已存在的类中包含了很多的方法与属性,可供我们使用. 第二种,我们自己创建的类,按照类的定义标准, ...
- 云计算大数据:Xen、KVM、VMware、hyper-v等虚拟化技术的比较
1.Xen.KVM.VMware.hyper-v等虚拟化技术的比较,xen和kvm,是开源免费的虚拟化软件. vmware是付费的虚拟化软件. hyper-v比较特别,是微软windows 2008 ...