MATLAB矩阵生成

MATLAB矩阵生成MATLAB矩阵生成

大家好,又见面了,我是你们的朋友全栈君。

1,

  A=zeros(m,n,p,...)或A=zeros([m,n,p,...]):m*n*p*...全零矩阵
  A=zeros(...,classname):classname表示数据类型

2,

A=ones(m,n,p,...)或A=ones([m,n,p,...]):生成m*n*p*...全1矩阵
 A=ones(...,classname):classname表示数据类型

3,

A=magic(N),N>2:生成一个N*N的魔方矩阵,
    每一行、每一列及对角线元素之和都相等,矩阵元素为1~N*N之间的整数

4,

A=eye(N):产生N*N单位矩阵
A=eye(m,n):产生m*n矩阵,对角线元素为1,其余为0

5,

rand()返回的矩阵元素服从0到1之间的均匀分布
rand(m,n,p,...)或rand([m,n,p,...]):生成m*n*p*... 0到1之间均匀分布的随机数
rand(...,‘double’)或rand(...,‘single’):产生的随机数类型为双精度或单精度浮点数
随机数需要种子,保存随机数的种子可以在下次运行程序时产生完全相同的数据,便于数据和功能的再现。
rand('seed',a):使用MATLAB v4随机数生成器
rand('state',a):使用MATLAB v5随机数生成器
rand('twister',a):使用MATLAB Mersenne Twister随机数生成器
rng(a):新版本MATLAB推荐使用形式,使用Mersenne Twister算法
rng(a,‘v4’)代替rand('seed',a),rng(a,‘v5uniform’)代替 rand('state',a)
rng(‘default’):将种子设为默认值

6,

randn():生成标准正态分布随机数,均值为0,方差为1,
         如果要产生均值为u、标准差为d的正态分布随机数,
         可以采用A=u+d*randn(m,n,p,...)。
randn()调用格式同rand()。

7,

linspace()函数产生线性等分向量。
线性等分向量是一个元素均匀增大或减小的向量。
相邻元素之间的差值相等,相当于等差数列。
linspace(a,b):产生1*100的向量,向量元素值从a均匀变化到b
linspace(a,b,N):产生1*N的向量,向量元素从a均匀变化到b
a:b或colon(a,b):产生从a到b,以1为步进值均匀增加的向量
a:step:b或colon(a,colon,b)产生从a到b以step为步进值均匀增加的向量

8,

logspace(a,b):产生1*50的向量,向量元素值从10^a均匀变化到10^b
logspace(a,b,N):产生1*N的向量,向量元素从10^a均匀变化到10^b

9,

P=randperm(N):返回向量[1,2,...,N]的一个随机排列,
           向量中的元素为1~N之间的整数,每个数字出现且仅出现一次
P=randperm(N,K):返回长度为K的向量,
           其中的元素取自1~N间的整数,元素无重复。K小于或等于N。
perms(A):产生一个向量的所有排列形式

10,

randi生成可重复的均匀分布随机整数。
R=randi(IMAX,N):返回一个N*N随机矩阵,
         矩阵中元素为1~IMAX之间的均匀分布随机整数,IMAX大于1
R=randi(IMAX,M,N)或R=randi(IMAX,[M,N]):返回M*N随机矩阵
R=randi([IMIN,IMAX],...):产生IMIN~IMAX之间的随机整数

11,

diag有两种用法:由对角线元素生成矩阵;由矩阵生成对角线元素
由向量生成矩阵:
X=diag(V,K):V是一个向量,K指定向量V在生成的矩阵中的位置。
             当K=0时返回一个以V为主对角线的方阵,
             当K>0时,V是矩阵主对角线上方的第K条对角线,
             当K<0时,V是矩阵主对角线下方的第|K|条对角线
X=diag(V):相当于diag(V,0)
由矩阵生成向量:
V=diag(X,K):X是一个矩阵,返回一个列向量V,V为矩阵X的第K条对角线。
             当K=0时返回主对角线,
             当K>0时返回矩阵主对角线上方第K条对角线,
             当K<0时返回矩阵主对角线下方第|K|条对角线
V=diag(X):返回矩阵的主对角线

12,

repmat:复制矩阵,形成更大的矩阵或数组
B=repmat(A,[m n])或B=repmat(A,m,n):矩阵A是待复制的矩阵,函数将A视为一个元素,
按照m*n的形式复制、拼接为新的矩阵B。size(B)=[size(A,1)*m,size(A,2)*n]
B=repmat(A,[m n p ...]):返回一个大的多维数组B,B包含m*n*p个矩阵,
   大小为[size(A,1)*m,size(A,2)*n,size(A,3)*p,...]

13,

reshape:改变矩阵的形状而保持元素不变
B=reshape(A,[m n p ...])或B=reshape(A,m,n,p,...):
    矩阵A为待变维的矩阵,元素个数必须和m*n*p*...相等。
    函数将A转变为[m,n,p,...]形状,元素顺序保持列优先
B=reshape(A,siz):按siz指定的形状对矩阵A进行变维
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153010.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • datagrip 2.4 激活_最新在线免费激活

    (datagrip 2.4 激活)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月29日
    126
  • 基于jQuery+JSON的省市联动效果

    基于jQuery+JSON的省市联动效果

    2021年10月17日
    50
  • 计算机如何寻址_PLC编程,如何学习SCL语言?SCL语言编程入门

    计算机如何寻址_PLC编程,如何学习SCL语言?SCL语言编程入门随着现代工控技术的不断发展,可能很多使用过PLC的技术人员都有这么一个感受:传统的‘梯形图’编程方式在面对越来越复杂的控制要求时,已显得力不从心。其实,现在很多大品牌的中高级PLC都支持国际电工委员会IEC61131标准中规范的五种编程语言的混合编程,即梯形图(LD)、结构化文本(ST)、流程图(SFC)、指令表(IL)和功能块(FB)。在这五种编程语言中,梯形图+结构化文本是一…

    2022年9月28日
    0
  • java中使用uuid函数_java生成随机数

    java中使用uuid函数_java生成随机数什么是UUID?UUID是UniversallyUniqueIdentifier的缩写,它是在一定的范围内(从特定的名字空间到全球)唯一的机器生成的标识符。UUID具有以下涵义:经由一定的算法机器生成为了保证UUID的唯一性,规范定义了包括网卡MAC地址、时间戳、名字空间(Namespace)、随机或伪随机数、时序等元素,以及从这些元素生成UUID的算法。UUID的复杂特性在保证了其唯一性的同…

    2022年9月23日
    0
  • 图像处理中经常用的一幅图片Lena.jpg

    图像处理中经常用的一幅图片Lena.jpg在数字图像处理中,Lena(Lenna)是一张被广泛使用的标准图片,特别在图像压缩的算法研究中。(为什么用这幅图,是因为这图的各个频段的能量都很丰富:即有低频(光滑的皮肤),也有高频(帽子上的羽毛),很适合来验证各种算法)然而,这张图片背后的故事是颇有意思的,很多人都抱有学究都是呆子的看法,然而Lena对此就是一个有力的驳斥。lena(lenna)是一张于1972年11月…

    2022年6月19日
    75
  • linux 挂载raid_linux挂载磁盘阵列

    linux 挂载raid_linux挂载磁盘阵列在许多项目中,都会把数据存放于磁盘阵列,以确保数据安全或者实现负载均衡。在初始安装数据库系统和数据恢复时,都需要先挂载磁盘阵列到系统中。本文记录一次在linux系统中挂载磁盘的操作步骤,以及注意事项。此处所用操作系统为Asianux,磁盘阵列设备名为emcpowera,使用的分区为emcpowera1。1.使用命令fdisk–l/dev/emcpowera查看磁盘阵列的分区情况:2.正…

    2022年6月19日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号