前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Matlab系列之数组的基本操作

Matlab系列之数组的基本操作

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

本篇记录的是基本的数组操作,将包括数组元素的寻址、查找和排序,本来是打算本矩阵的基本操作也介绍下,不过时间比较感觉不太够,就留到下一篇再进行记录了,先把上一篇和本篇的内容好好吸收吧,内容说多不多,但是含金量我感觉是够的~

关于寻址,知多少?

都知道在数组中包含多个元素,因此对数组的单个元素或多个元素进行访问操作(就是我们想要拿某个特定位置或者特定的值来使用),需要对数组进行寻址操作,MATLAB中,数组寻址就是通过对数组的下表访问实现,不知道你们对之前记录的篇章中出现的“end”这个参数是否还有印象,代表数组的末尾。

我们更多的还是要记住,MATLAB在内存在以列的方向保持二维数组。对于一个m行n列的数组,分别使用i和j代表元素行列的索引,则一个二维数组的寻址可表示为A(i,j);代表A矩阵第中i行j列的这个特定元素,如果括号里只有一个数,这种就叫做单下标寻址,如A(k);代表的就是按列进行逐一计数,直到数值为k的那个元素,和(j-1)*m+i等价,等下可以用两个函数来进行转化,直接演示一下寻址的操作,你们就懂上面讲的意思了,关于代码就不做多讲述了,如果这种简单的代码还看不懂的话,就把文章多看看吧:

1、一维数组

2、二维数组寻址

查找、排序那些事

看到查找二字,是不是就会想到“Ctrl+F“,如果没有,当我没说。。。

MATLAB里提供了一个数组查找函数,可以查找数组中非零数组元素,并返回其在整个数组中的索引值,调用格式:

k=find(X)

k=find(X,n)

k=find(X,n,direction)

[row,col]=find(___)

[row,col,v]=find(___)

k表示非零元素的下标值,row和col分别表示行下标向量和列下标向量,和上一篇说的索引i和j是一个东西,只是为了方便理解,这边换row和col来表示,v表示非零元素向量。

在实际应用中,通常使用多逻辑关系组合产生逻辑数字,判断数组元素是否满足某种比较关系,然后通过find函数返回符合比较关系的元素索引,从而实现对数组元素的查找。

再说一下排序,其实这个之前也展示过了,惊不惊喜,意不意外?

如果没印象,那接着看,排序函数:sort;可对任意给定的数组进行排序,语法:

B=sort(A)

B=sort(A,dim)

B=sort(___,direction)

B=sort(___,Name,Value)

[B,I]=sort(___)

B为返回的排序后的数组,A为输入的待排序的数组,A为多数组时,用dim指定需要排序的维数,默认值是1;

·假定有矩阵Asort(A,1)A的列元素进行排序。

·sort(A,2)对A的行元素进行排序。

direction代表排序的方向,即升序和降序,其取值为:ascend和descend,默认是升序的;

I用于存储排序后的下标数组;

Value的作用就是将缺失值放到指定位置,缺失值就是NaN,NaT之类的;

可以是三种取值:'auto'(默认),'first','last'

·'auto'-缺失的元素放在最后(对于升序排序)或放在最前面(对于降序排序)。

·'first'-缺失的元素放在最前面。

·'last'-缺失的元素放在最后。

对查找和排序做演示:

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

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

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

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

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