版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1第2章:MATLAB脚本语言基础卓越工程师培养系列2目录《医学数字信号处理实验教程—基于MATLAB》-配套讲义1.变量与常量2.基本数据类型3.数组与矩阵4.运算符5.本章任务6.本章习题31.变量与常量1.1变量
在程序运行过程中可以改变其值的量称为变量,变量由变量名表示。MATLAB中的变量命名必须遵照以下规则:
(1)变量名必须以字母开头,而且只能由字母、数字、下画线组成,不能含有空格和标点符号。
(2)变量名区分大小写。如ECG和ecg为两个不同的变量名,COS不代表余弦函数。
(3)变量名不能超过63个字符,如果超出限制范围,从第64个字符开始,其后的字符都将被忽略。
(4)关键字(如if、for、while)不允许作为变量名。
(5)不建议使用特殊常量符号(pi、i、j)作为变量名。《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义41.变量与常量1.2常量 MATLAB中有一些预定义的特殊变量,称为常量,MATLAB常用常量如下表2-1所示。《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义52.基本数据类型2.1浮点类型2.2整数类型2.3逻辑类型2.4字符串2.5元胞数组2.6结构体《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义62.1浮点类型《现代医学电子仪器原理与设计实验教程》-配套讲义
在MATLAB中,浮点数又分为单精度浮点数(single)和双精度浮点数(double),其中,双精度浮点数是MATLAB中默认的数据类型。如果用户在定义一个变量时未指定数据类型,则默认为双精度浮点数类型。如果不希望是双精度浮点数类型,也可以在定义变量时指定其他数据类型,或者给变量赋值为其他类型的值,或者通过函数进行数据类型转换。 MATLAB中的双精度浮点数占用8个字节(64位),其中第63位为符号位,0为正,1为负,第52至62位表示指数部分,第0至51位表示小数部分;单精度浮点数占用4个字节(32位),其中第31位为符号位,0位正,1为负,第23至30位表示指数部分,第0至22位表示小数部分。《医学数字信号处理实验教程—基于MATLAB》-配套讲义72.2整数类型《现代医学电子仪器原理与设计实验教程》-配套讲义
MATLAB提供了8种整数类型,不同的整数类型在计算机内存中占用的字节数不同。有符号数有一位用来表示符号,因此表示的数据范围和相应的无符号整数类型不同。 MATLAB中变量的默认数据类型是双精度浮点型,可以通过整数类型关键字(如int8)将双精度浮点型变量转换为整型变量。在转换中,小数点之后的数按照四舍五入的原则,比如3.5转换为整型变量之后即为4,3.14转换为整型变量之后即为3。MATLAB还提供了多种取整函数,如表2‑3所示。《医学数字信号处理实验教程—基于MATLAB》-配套讲义82.3逻辑类型《现代医学电子仪器原理与设计实验教程》-配套讲义
在MATLAB中,逻辑型数据仅具有两种状态,分别是逻辑真(true)和逻辑假(false),其中,逻辑真用逻辑1表示,逻辑假用逻辑0表示。任何数值都可以参与逻辑运算,其中,非零值看作逻辑真,零值看作逻辑假。
通过书中的实例说明逻辑型变量与数据型变量的区别。分别定义一个逻辑型变量a和一个数据型变量b,并通过whos列出它们的信息,最后,通过islogical和isnumeric对这两个变量的数据类型进行判断。islogical判断输入数据是否为逻辑类型;isnumeric判断输入数据是否为数值类型。《医学数字信号处理实验教程—基于MATLAB》-配套讲义92.4字符串《现代医学电子仪器原理与设计实验教程》-配套讲义
(1)字符串
①单引号创建一维字符数组
②中括号[]创建一维字符数组
③中括号[]创建二维字符数组
④char函数创建二维字符数组
(2)字符串元胞数组
无论是使用中括号[]还是char函数创建二维字符数组,如果字符串长度不一致,就需要在部分字符串后添加空格。在MATLAB中,还可以使用元胞数组,因为元胞数组可以容纳不同大小和类型的数据。可以使用大括号{}创建字符串元胞数组。《医学数字信号处理实验教程—基于MATLAB》-配套讲义102.4字符串《现代医学电子仪器原理与设计实验教程》-配套讲义
(3)字符串操作函数 MATLAB提供了大量的字符串操作函数,本书中使用到的如表2‑4所示,所介绍的函数用法主要是围绕本书中的例程,需要了解其他函数的其他用法,读者可以查找其他相关资料。《医学数字信号处理实验教程—基于MATLAB》-配套讲义112.5元胞数组《现代医学电子仪器原理与设计实验教程》-配套讲义
(1)元胞数组
元胞数组的创建方法有很多种,最常用的是使用大括号{}将不同类型和尺寸的数据组合在一起构成一个元胞数组。
(2)元胞数组操作函数 MATLAB提供了大量的元胞数组操作函数,本书仅使用到了cell2mat和iscell两个函数。iscell函数用于判断输入是否为元胞数组,是则返回逻辑1,否则返回逻辑0《医学数字信号处理实验教程—基于MATLAB》-配套讲义122.6结构体《现代医学电子仪器原理与设计实验教程》-配套讲义
结构体的定义有两种方式:直接赋值和通过struct函数。
直接赋值需要指出结构体的属性名称,以指针操作符“.”连接结构体变量名与属性名。
使用struct函数定义结构体时,其调用格式如下:
结构体变量名=struct(属性名1,属性值1,属性名1,属性值1,…) MATLAB中结构体的相关操作函数如表2‑5所示。《医学数字信号处理实验教程—基于MATLAB》-配套讲义133.数组与矩阵3.1数组的创建3.2数组的访问3.3矩阵的创建3.4矩阵的访问3.5矩阵的拼接《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义143.1数组的创建《现代医学电子仪器原理与设计实验教程》-配套讲义
通过将元素放于中括号[]内,就可以创建一个一维数组。行数组(n个元素排成一行的数组,又称为行向量)中的元素使用空格或逗号分隔。
列数组(m个元素排成一列的数组,又称为列向量)中的元素使用分号分隔。
使用冒号创建数组。《医学数字信号处理实验教程—基于MATLAB》-配套讲义153.2数组的访问《现代医学电子仪器原理与设计实验教程》-配套讲义
数组的访问既可以访问数组的一个元素,也可以访问数组的若干个连续或不连续的元素。《医学数字信号处理实验教程—基于MATLAB》-配套讲义163.3矩阵的创建《现代医学电子仪器原理与设计实验教程》-配套讲义
通过将数值放于中括号[]内,同行元素之间用空格或逗号分隔,行与行之间用分号分隔,这样就可以创建一个矩阵。《医学数字信号处理实验教程—基于MATLAB》-配套讲义173.4矩阵的访问《现代医学电子仪器原理与设计实验教程》-配套讲义
矩阵的访问主要包括单元素访问和多元素访问,下面介绍这两种方法。(1)单元素访问
数学上引用矩阵中具体元素时,通常采用全下标标识法,即指出某一元素是在第几行第几列,优点是数学概念清晰、引用简单。因此,这种方法在MATLAB访问和赋值中使用最为频繁。其实,尽管在MATLAB中是以矩阵作为基本的计算单元,但是矩阵的在计算机的存储形式并不像显示出来的那样呈现矩阵排列,而是按照单下标标识法作为一列存储在内存中。单下标标识法与全下标标识法不同,只需要一个下标即可指出元素在矩阵中的位置。《医学数字信号处理实验教程—基于MATLAB》-配套讲义183.4矩阵的访问《现代医学电子仪器原理与设计实验教程》-配套讲义(2)多元素访问
使用冒号可以访问该矩阵的某一行或某一列的若干个元素、访问若干行或若干列的元素、访问子矩阵的所有元素以及访问矩阵所有元素等。①A(m:l:n)用于访问矩阵A中步长为l的从序号为m到n的所有元素。②A([mnl])用于访问矩阵A中序号为m、n和l的三个元素。③A[:,j]用于访问矩阵A中第j列所有元素。④A[i,:]用于访问矩阵A中第i行的所有元素。⑤A(i:i+m,:)用于访问矩阵A中第i至(i+m)行的所有元素。⑥A(:,k:k+n)用于访问矩阵A中第k至(k+n)列的所有元素。⑦A(i:i+m,k:k+n)表示访问矩阵A中第i至(i+m)行、第k至(k+n)列的所有元素。《医学数字信号处理实验教程—基于MATLAB》-配套讲义193.5矩阵的拼接《现代医学电子仪器原理与设计实验教程》-配套讲义
两个或者两个以上的单个矩阵,按照一定的方向进行拼接,生成新的矩阵就是矩阵的拼接。矩阵的拼接分为水平方向拼接和垂直方向拼接。对矩阵A和B进行拼接,如果按照水平方向拼接,则要求矩阵A和B的行数相同,如果按照垂直方向拼接,则要求矩阵A和B的列数相同。《医学数字信号处理实验教程—基于MATLAB》-配套讲义204.运算符4.1算术运算符4.2关系运算符4.3逻辑运算符4.4运算符优先级《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义214.1算术运算符《现代医学电子仪器原理与设计实验教程》-配套讲义
根据处理对象的不同,分为数组运算符和矩阵运算符。数组算术运算符如表2‑6所示。对于数组的算术运算,无论是加减乘除,还是乘幂,算术运算都是元素间的运算,即对应下标元素一对一的运算。《医学数字信号处理实验教程—基于MATLAB》-配套讲义224.1算术运算符《现代医学电子仪器原理与设计实验教程》-配套讲义
矩阵算术运算符如表2‑7所示。《医学数字信号处理实验教程—基于MATLAB》-配套讲义234.2关系运算符《现代医学电子仪器原理与设计实验教程》-配套讲义
关系运算用于比较两个操作数之间的大小,返回值为逻辑型变量,表2‑8为关系运算符。《医学数字信号处理实验教程—基于MATLAB》-配套讲义244.3逻辑运算符《现代医学电子仪器原理与设计实验教程》-配套讲义 MATLAB中常见的逻辑运算包括与、或、非、快速与、快速或,返回值为逻辑型变量,表2‑9为MATLAB中常见的逻辑运算符。《医学数字信号处理实验教程—基于MATLAB》-配套讲义254.4运算符优先级《现代医学电子仪器原理与设计实验教程》-配套讲义
一般情况下,在一个表达式中,算术运算符优先级最高,其次是关系运算符,最后是逻辑运算符,表2‑10是运算符优先次序。表2‑10中,运算符的优先次序按照从上到下的顺序,分别由高到低,而同一行的各运算符具有相同的优先级。《医学数字信号处理实验教程—
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 媒介管理学概论第二章媒介产业与媒介组织
- 2025北京五十五中高二(上)期中语文试题及答案
- 互联网公司实习报告
- 商务管理就业方向指南
- 策划行业成长指南
- 就业指导部工作设想
- 2026九年级上名著导读艾青诗选
- 医院消杀组工作制度
- 医院财务处内部控制制度
- 单招机构班主任考核制度
- 安全管理人员考勤制度
- 日本家政相关行业分析报告
- 2026年北京市中考数学模拟试卷
- 儿科患者身份识别护理实践指南(2025年版)
- GB/T 42706.3-2025电子元器件半导体器件长期贮存第3部分:数据
- 招标项目绩效考核体系设计方案
- 卧床老人理发培训课件
- 基于人工智能的小学体育与健康教育中的跨学科教学实践教学研究课题报告
- 2025中国融通集团信息技术有限公司社会招聘笔试参考试题附答案解析
- 医患沟通课程中的特殊人群沟通策略
- 脊柱侧弯矫正课件
评论
0/150
提交评论