【matlab图像处理】matlab数据结构(1)

中国史之【纣王即位】:
商纣王即位,征服夷方,得大量俘虏,商的国力因此虚耗。纣王刚愎自用,囚箕子,杀比干,后被周武王所灭,导致商朝灭亡。
——来源:全历史APP

俗话说:“好记性不如烂笔头”,多写写多记记,总不会错。多一些不为什么的坚持,少一些功利主义的追求。

今天介绍matlab的数据结构(1),为了直观理解,本文直接以结果截图为例,这点代码并不需要写成文本,最好自己跟着打一遍。本内容参考自《实用MATLAB图像和视频处理》第三章。

1、简单的数据操作

(1)将MATLAB用作一个计算器

变量ans是在不指定参数时,用来保存当前的答案(answer)。另外,无论是python、c语言,还是matlab,都需要使用英文的半角符,上面就因为写了个中文的分号出错了。

从上面也可以看出,语句后分号的作用是不在命令行窗口显示结果,否则都会自动显示ans值。

(2)使用变量执行计算

从上图可以看出,变量需要划分大小写,这点不要疏忽。从工作区也可以看出当前的各种变量名和对应的数值,方便debug。

(3)一些常见的变量

从上面可以看出,pi的默认数值是3.1416,但是这种特殊变量也是可以重写的,上图中我们重写为2。如果要撤销,那就直接将工作区变量清空即可。

除此之外,还有其他特殊变量。如下:

(4)清洁matlab环境

清空工作区变量是clear all,也可以写成clear,如果要清空某个变量,则写clear 变量名,清空命令窗口是clc。

(5)创建一个3*3的矩阵

在这个语句中,分号扮演换行的功能。

2、冒号操作符

冒号操作符是很实用的操作符(:),它可用来生成一个数字矢量,也就是向量。如果使用三个参数,那么中间的参数指定生成序列的方式,具体如下:

从上图可以看出,5 : -1 : 1的意思是从5到1,逐渐减一,所以生成的序列是5、4、3、2、1,注意是顾首又顾尾,这和python的切片有点区别。

而1:3:8的意思是从1到8,所以是1、1+3=4、1+3+3=7,而再往上加3就是10,超过8了。注意并不是一定要有尾,所以最终是1、4、7,而不是1、4、7、8。

【练习一下】:

写一个语句,生成一个值从0到pi,每次增加pi/4的向量。

另外,冒号操作符也可以返回一个矩阵的一整行或一整列。(行,列)中冒号是指所有行或所有列。注意,矩阵下标从1开始。

【练习一下】:
写一行代码,生成矩阵a,但使用冒号操作符来生成每一行的数字序列而不是显式地写出来。答案如下:

另外,冒号操作符也可以用函数colon来代替,如下:

上面的1:2:9只能适用于知道开头结尾以及每个值之间的距离,若希望生成一个范围在两个数字间的数字向量,但仅知道需要的值数量,比如生成4个pi/4到pi之间的值,可以使用linspace函数。

比如,linspace(-1,5,4)的意思是生成4个从-1到5的均衡序列。其实也好计算,就是自己计算出间隔,比如-1到5,总距离是6,需要生成4个数,也就是3个间隔,所以偏差就是6/3=2,所以等价于-1:2:5。

【声明】:学习笔记基于互联网上各种学习资源的个人整理。

以上是本期内容,下期介绍matlab的数据结构(2)。

我叫小保,一名计算机视觉爱好者、学习者、追随者,欢迎关注我一起学习。

猜你喜欢

转载自blog.csdn.net/ling_xiobai/article/details/122281020
今日推荐