前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Matlab系列之数组(矩阵)的生成

Matlab系列之数组(矩阵)的生成

作者头像
狂人V
发布2020-08-07 00:17:59
1.1K0
发布2020-08-07 00:17:59
举报
文章被收录于专栏:电子狂人电子狂人电子狂人

从本篇开始,会有一段时间都将用于记录数组、矩阵的操作等等,如果以前没有接触过相关的,可能会觉得要展示的是很复杂的东西,但并不是,这是一个很简单的部分,但也是一个很重要的部分,至少现在的我觉得这部分的内容可以说是MATLAB精髓之一吧,毕竟该系统的运算是基于矩阵进行的,在MATLAB系列最开始的篇章中就已经有说过一些,当然,你们也可以保持自己的意见,毕竟这只是我觉得,你们觉得该咋样还是咋样,但是不管怎么说,接下来的篇章中关于矩阵的这部分内容很重要就对了

要了解一个东西,就应该知道它是如何产生的,这些在之前的文章中都有过接触,所以这边就再简单说下它生成的方法。

1、直接生成

直接使用方括号“[ ]”实现,在方括号内输入元素,不同行用分号分隔开,不同列可以使用空格,也可以使用逗号。

例:A=[1 2 3; 4 5 6]

除了上面这种最直接的生成,还有一个比较快捷的生成,不过这些数需要是有一定的排列规则,使用的是一个“:”。

比如:A=[1:3;4:6]

冒号在MATLAB中是一个很重要的运算符,因为可以用它产生行向量,一般表达式我想你也猜出来大概了;

语法:e1:e2:e3

e1是初始值,e2是步长,e3是终止值,因此冒号表达式产生的就是一个从e1开始到e3结束,以步进e2逐渐累加的行向量,像刚刚的例子中没有写步长的就是默认步长为1,如果要指定步长的形式,则是t=1:1:3这样所示。

再补充一个,除了冒号表达式可以产生行向量之外,还能使用linspace函数产生,调用格式:linspace(a,b,n)

a和b分别代表将要生成的行向量的第一个和最后一个元素,n是总元素个数,如果省略n,则系统会默认产生100个元素,然后其增加行向量值的计算方法和冒号的方式差不多,都是累加的形式,linspace(a,b,n)和a:(b-a)/(n-1):b是等价的,就不做演示了,可以自己实践操作学习下,接着讲下一种生成矩阵的方法。

2、函数生成

使用一些特殊函数生成特殊的矩阵,在之前的文章中也已经有过记录,不过为了更加系统化,就再进行介绍一下,先演示两个:

A=zeros(3,2)%产生3行2列的零矩阵
A=eye(3)%产生3*3的单位矩阵

还有一些其他的我就不做过多的介绍了,直接列上常用的矩阵函数的表给大家做参考:

矩阵

函数

全零矩阵

zeros

单位矩阵

eye

全1矩阵

ones

均匀分布随机矩阵

rand

正态分布随机矩阵

randn

产生线性等分向量

linspace

产生对数等分向量

logspace

Wilkinson特征值测试矩阵

wilkinson

友矩阵

compan

Hadamard矩阵

hadamard

Hankel矩阵

hankel

Hilbert矩阵

hilb

逆Hilbert矩阵

invhilb

Magic矩阵

magic

Pascal矩阵

pascal

托普利兹矩阵

toeplitz

关于矩阵的生成就介绍到这,另一篇将介绍下基本的数组操作,不过说到这,不知道你们有没有发现我好像没有把矩阵和数组做区分之类的,这个问题就留给你们自己去了解,看看两者之间是否有什么区别

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 电子狂人 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档