最近一直在学习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 (经典)的更多相关文章

  1. Matlab神经网络验证码识别

    本文,将会简述如何利用Matlab的强大功能,调用神经网络处理验证码的识别问题.  预备知识,Matlab基础编程,神经网络基础.  可以先看下: Matlab基础视频教程 Matlab经典教程--从 ...

  2. Atitit MATLAB 图像处理 经典书籍attilax总结

    Atitit MATLAB 图像处理 经典书籍attilax总结 1.1. MATLAB数字图像处理1 1.2. <MATLAB实用教程(第二版)>((美)穆尔 著)[简介_书评_在线阅读 ...

  3. 经典功率谱估计及Matlab仿真

    原文出自:http://www.cnblogs.com/jacklu/p/5140913.html 功率谱估计在分析平稳各态遍历随机信号频率成分领域被广泛使用,并且已被成功应用到雷达信号处理.故障诊断 ...

  4. MATLAB对于文本文件(txt)数据读取的技巧总结(经典中的经典)

    振动论坛原版主eight的经典贴http://www.chinavib.com/thread-45622-1-1.html MATLAB对于文本文件(txt)进行数据读取的技巧总结(经典中的经典)由于 ...

  5. Matlab中rand('state',sum(clock))解析

    一.问题来源 来自于一份PSO代码,PSO中需要初始化粒子位置和速度. 二.问题探究 众所周知,Matlab中的rand()函数产生的是伪随机数,但一般用来也可以接受.但是,如果我们知道伪随机数的初始 ...

  6. Matlab中Rand()函数用法

    一.理论准备 matlab函数randn:产生均值为0,方差 σ^2 = 1,标准差σ = 1的正态分布的随机数或矩阵的函数. 用法:Y = randn(n),返回一个n*n的随机项的矩阵.如果n不是 ...

  7. MATLAB——画图(经典)

    今天我发现一个非常奇怪的事情,如果你喜欢一样东西或者说是要干一件事,并不一定要把它所在领域的所有都做好, 只要做好你喜欢的就可以了,正如现在的我,突然想学习MATLAB(想画图)那么你只要把一些基础的 ...

  8. (转) 经典功率谱估计及Matlab仿真

    原文出自:http://www.cnblogs.com/jacklu/p/5140913.html 功率谱估计在分析平稳各态遍历随机信号频率成分领域被广泛使用,并且已被成功应用到雷达信号处理.故障诊断 ...

  9. matlab基本函数 randn,rand,orth

    一起来学演化计算-matlab基本函数randn, rand, orth 觉得有用的话,欢迎一起讨论相互学习~Follow Me randn X = randn 随机从正态分布中选一个数作为结果 X ...

随机推荐

  1. Linux的chkconfig命令详解

    chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法: chkconfig [--a ...

  2. python抽象类+抽象方法实现接口(interface)

    #python没有类似于java和C#的接口类(interface),需要使用抽象类 和抽象方法来实现接口功能 #!/usr/bin/env python#_*_ coding:utf-8 _*_ f ...

  3. c#之多线程之为所欲为

    一 什么是多线程 1. 什么是进程?一个 exe 运行一次就会产生一个进程,一个 exe 的多个进程之 间数据互相隔离. 2. 一个进程里至少有一个线程:主线程.我们平时写的控制台程序默认就是单线程的 ...

  4. sudo apt-get 与 yum安装有啥区别

    rpm包和deb包是两种Linux系统下最常见的安装包格式,在安装一些软件或服务的时候免不了要和它们打交道. rpm包主要应用在RedHat系列包括 Fedora等发行版的Linux系统上, deb包 ...

  5. 想要薪资20-30K,Python程序员认真敲代码就够了!

    在这个年代,互联网的飞速壮大大家有目共睹,除了表露出的公共受益,其中计算机编程者也是做出了巨大的贡献,即使外国编程语言仍旧属于领导者,但是在互联网的壮大下,我们这是"地球村",国内 ...

  6. DX11 Without DirectX SDK--05 键盘和鼠标输入

    回到 DirectX11--使用Windows SDK来进行开发 提供键鼠输入可以说是一个游戏的必备要素.在这里,我们不使用DirectInput,因为Windws SDK本身就不提供该头文件.这里我 ...

  7. mondrian 4.7 源码部署

    mondrian是一个开源的数据分析工程, 网上有关mondrian3.X的源码部署比较多, 有关4.X的部署较少. 目前官方推荐使用的时mondrian3.7的修订版, 可以再github上下载到最 ...

  8. 关于内核转储(core dump)的设置方法

    原作者:http://blog.csdn.net/wj_j2ee/article/details/7161586 1. 内核转储作用 (1) 内核转储的最大好处是能够保存问题发生时的状态. (2) 只 ...

  9. UISegmentedControl在Swift中的使用

    UISegmentedControl控件是分段显示控件,用户可以选择它上展示的任一段部分,每一个部分都像是一个按钮,如果被按下也会像UIButton一样执行相应的方法.在这篇文章中我们将创建一个UIS ...

  10. Spring Boot + Websocket + Thymeleaf + Lombok

    https://github.com/guillermoherrero/websocket 验证错误消息文件名字:是默认名ValidationMessages.properties,编译后存放在cla ...