第2章 MATLAB数据 2.1 MATLAB数据的特点 2.2 变量和赋值 2.3 MATLAB矩阵 2.4 MATLAB运算

Slides:



Advertisements
Similar presentations
2.5 函数的微分 一、问题的提出 二、微分的定义 三、可微的条件 四、微分的几何意义 五、微分的求法 六、小结.
Advertisements

练一练: 在数轴上画出表示下列各数的点, 并指出这些点相互间的关系: -6 , 6 , -3 , 3 , -1.5, 1.5.
第五章 二次型. 第五章 二次型 知识点1---二次型及其矩阵表示 二次型的基本概念 1. 线性变换与合同矩阵 2.
数学软件 Matlab —— Matlab 快速入门.
10.2 立方根.
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
数学软件 Matlab —— Matlab 基础.
§5.3 定积分的换元法 和分部积分法 一、 定积分的换元法 二、 定积分的分部积分法 三、 小结、作业.
C语言实验 第一课 标题:学号+姓名.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
在PHP和MYSQL中实现完美的中文显示
第九章 字符串.
Hadoop I/O By ShiChaojie.
线性代数机算与应用 李仁先 2018/11/24.
第2章 MATLAB矩阵及其运算 2. 1 变量和数据操作 2. 2 MATLAB矩阵 2. 3 MATLAB运算 2. 4 矩阵分析 2
MATLAB数学实验 第一章 MATLAB入门.
走进编程 程序的顺序结构(二).
辅导课程六.
元素替换法 ——行列式按行(列)展开(推论)
科学计算与MATLAB语言.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
1.2 MATLAB变量表达式与数据格式 MATLAB变量与表达式 MATLAB的数据显示格式
§2 求导法则 2.1 求导数的四则运算法则 下面分三部分加以证明, 并同时给出相应的推论和例题 .
第二章 Java语言基础.
动态规划(Dynamic Programming)
第2章 MATLAB基本运算.
数学软件 Matlab —— 矩阵运算.
第2章 MATLAB矩阵及其运算 变量和数据操作 MATLAB矩阵 MATLAB运算 矩阵分析 字符串 结构数据和单元数据
第一章 函数与极限.
计算.
数列.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
顺序表的删除.
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
VB与Access数据库的连接.
第三章 数据类型  常数和变量 数组和矩阵 字符串和多维数组 结构和单元数组.
用计算器开方.
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 Excel电子表格制作软件 4.4 函数(一).
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
第九节 赋值运算符和赋值表达式.
3.16 枚举算法及其程序实现 ——数组的作用.
第4课时 绝对值.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
西南科技大学网络教育系列课程 数学软件 数学软件 第3讲 MATLAB数组与运算 主讲教师: 鲜大权 副教授 西南科技大学理学院数学系.
第七、八次实验要求.
线性代数 第十一讲 分块矩阵.
学习目标 1、了解基本运算符 2、运算符优先级.
2.6 字符型数据 一、 字符常量 1、字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。 例如,‘A’、‘1’、‘+’等。
数学建模与数学实验 MATLAB入门.
2.2矩阵的代数运算.
线 性 代 数 厦门大学线性代数教学组 2019年5月12日4时19分 / 45.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第二章 Java基本语法 讲师:复凡.
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
定义5 把矩阵 A 的行换成同序数的列得到的矩阵,
数据表示 第 2 讲.
鸡兔同笼(续) ——选择结构.
数的简单处理 ——顺序结构、变量、数据类型、运算符
§4.5 最大公因式的矩阵求法( Ⅱ ).
顺序结构程序设计 ——关于“字符串”和数值.
<编程达人入门课程> 本节内容 有符号数与无符号数 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
§2 自由代数 定义19.7:设X是集合,G是一个T-代数,为X到G的函数,若对每个T-代数A和X到A的函数,都存在唯一的G到A的同态映射,使得=,则称G(更严格的说是(G,))是生成集X上的自由T-代数。X中的元素称为生成元。 A变, 变 变, 也变 对给定的 和A,是唯一的.
学习目标 1、什么是列类型 2、列类型之数值类型.
Presentation transcript:

第2章 MATLAB数据 2.1 MATLAB数据的特点 2.2 变量和赋值 2.3 MATLAB矩阵 2.4 MATLAB运算 2.2 变量和赋值 2.3 MATLAB矩阵 2.4 MATLAB运算 2.5 字符串 2.6 结构和单元

2.1 MATLAB数据的特点 1.矩阵是MATLAB最基本、最重要的数据对象。单个数据(标量)可以看成是矩阵的特例。 数值数据:双精度型、单精度数、带符号整数和无符号整数。 字符数据。 结构(Structure)和单元(Cell)。 多维矩阵和稀疏矩阵(Sparse)。

2.2 变量和赋值 2.2.1 变量的命名 在MATLAB中,变量名是以字母开头,后接字母、数字或下划线的字符序列,最多19个字符。 2.2 变量和赋值 2.2.1 变量的命名 在MATLAB中,变量名是以字母开头,后接字母、数字或下划线的字符序列,最多19个字符。 在MATLAB中,变量名区分字母的大小写。MATLAB提供的标准函数名以及命令名必须用小写字母。

2.2.2 赋值语句 MATLAB赋值语句有两种格式: (1) 变量=表达式 (2) 表达式 一般地,运算结果在命令窗口中显示出来。如果在语句的最后加分号,那么,MATLAB仅仅执行赋值操作,不再显示运算的结果。 在MATLAB语句后面可以加上注释,注释以%开头,后面是注释的内容。

例2.1 计算表达式的值,并将结果赋给变量x,然后显示出结果。 在MATLAB命令窗口输入命令: x=(5+cos(47*pi/180))/(1+sqrt(7)-2*i) %计算表达式的值

2.2.3 数据的输出格式 MATLAB用十进制数表示一个常数,具体可采用日常记数法和科学记数法两种表示方法。 数据输出时用户可以用format命令设置或改变数据输出格式。format命令的格式为: format 格式符 注意,format命令只影响数据输出格式,而不影响数据的计算和存储。

2.2.4 预定义变量 在MATLAB工作空间中,还驻留几个由系统本身定义的变量。它们有特定的含义,在使用时,应尽量避免对这些变量重新赋值。

2.2.5 内存变量的管理 1. 内存变量的显示与删除 who和whos这两个命令用于显示在MATLAB工作空间中已经驻留的变量名清单。 clear命令用于删除MATLAB工作空间中的变量。 注意,预定义变量不能被删除。 2. 工作空间浏览器 (1) 工作空间浏览器的启动 (2) 工作空间浏览器的操作

3. 内存变量文件 利用MAT文件(.mat)可以把当前MATLAB工作空间中的一些有用变量长久地保留下来。 MAT文件的生成和装入由save和load命令来完成。常用格式为: save 文件名 [变量名表] [-append][-ascii] load 文件名 [变量名表] [-ascii]

2.3 MATLAB矩阵 2.3.1 矩阵的建立 1. 直接输入法 将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。例如 A=[1 2 3;4 5 6;7 8 9]

2. 利用M文件建立矩阵 对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。 例2.2 利用M文件建立MYMAT矩阵。 (1)启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵. (2)把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。 (3)运行该M文件,就会自动建立一个名为MYMAT的矩阵,可供以后使用。

几个产生特殊矩阵的函数:zeros、ones、 eye、rand、randn。 3. 利用MATLAB函数建立矩阵 几个产生特殊矩阵的函数:zeros、ones、 eye、rand、randn。 这几个函数的调用格式相似,下面以产生零矩阵的zeros函数为例进行说明。其调用格式是: zeros(m) 产生m×m零矩阵 zeros(m,n) 产生m×n零矩阵。 zeros(size(A)) 产生与矩阵A同样大小的零矩阵 相关的函数有:length(A)给出行数和列数中的较大者,即length(A)=max(size(A));ndims(A)给出A的维数。

例2.3 分别建立3×3、3×2和与矩阵A同样大小的零矩阵。 (1)建立一个3×3零矩阵:zeros(3) (2)建立一个3×2零矩阵:zeros(3,2) (3)建立与矩阵A同样大小零矩阵:zeros(size(A)) 此外,常用的函数还有reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵A重新排成m×n的二维矩阵。

4. 建立大矩阵 大矩阵可由方括号中的小矩阵建立起来。例如 A=[1 2 3;4 5 6;7 8 9]; C=[A,eye(size(A)); ones(size(A)),A]

2.3.2 冒号表达式 冒号表达式的一般格式: e1:e2:e3 还可以用linspace函数产生行向量:linspace(a,b,n) linspace(a,b,n)与a:(b-a)/(n-1):b等价。

2.3.3 矩阵的拆分 1. 矩阵元素 MATLAB允许用户对一个矩阵的单个元素进行赋值和操作。例如 A(3,2)=200 也可以采用矩阵元素的序号来引用矩阵元素。矩阵元素按列编号,先第一列,再第二列,依次类推。 以m×n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。其相互转换关系也可利用sub2ind和ind2sub函数求得。

2. 矩阵拆分 (1)利用冒号表达式获得子矩阵 ①A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。 ②A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。 此外,还可利用一般向量和end运算符等来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。

(2)利用空矩阵删除矩阵的元素 在MATLAB中,定义[]为空矩阵。给变量X赋空矩阵的语句为X=[]。 注意,X=[]与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间,只是维数为0。 将某些元素从矩阵中删除,采用将其置为空矩阵的方法就是一种有效的方法。

2.3.4 多维矩阵 以三维矩阵为例,常用的方法有4种: (1)对二维矩阵进行扩充得到三维矩阵。 (2)若干个同样大小的二维矩阵进行组合得到三维矩阵。 (3)除产生单位矩阵的eye函数外,前面介绍的建立矩阵的函数都可以延伸到三维矩阵。 (4)用cat函数构建多维矩阵。一般调用格式是: cat(n,A1,A2,…,An) cat函数把大小相同的若干矩阵,沿第n维方向串接成高维矩阵。当n=1和2时,沿行和列的方向串接,结果是二维矩阵。当n=3时,沿页的方向串接,结果是三维矩阵。

2.4 MATLAB运算 2.4.1算术运算 1. 基本算术运算 MATLAB的基本算术运算有:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)。 注意:运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。 2. 点运算 点运算符有.*、./、.\和.^。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。 3.MATLAB常用数学函数

2.4.2 关系运算 MATLAB提供了6种关系运算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)。 关系运算符的运算法则。

例2.4 产生5阶随机方阵A,其元素为[10,90]区间的随机整数,然后判断A的元素是否能被3整除。 A=fix((90-10+1)*rand(5)+10) (2) 判断A的元素是否可以被3整除。 P=rem(A,3)==0

2.4.3 逻辑运算 MATLAB提供了3种逻辑运算符:&(与)、|(或)和~(非)。 运算法则。

例2.5 在[0,3π]区间,按要求求y=sin(x)的值: 方法1: x=0:pi/100:3*pi;y=sin(x); y1=(x<pi|x>2*pi).*y; %消去负半波 q=(x>pi/3&x<2*pi/3)|(x>7*pi/3&x<8*pi/3); qn=~q; y2=q*sin(pi/3)+qn.*y1; %按要求处理第(2)步 方法2: y1=(y>=0).*y; %消去负半波 p=sin(pi/3); y2=(y>=p)*p+(y<p).*y1; %按要求处理第(2)步

2.5 字符串 字符串是用单撇号括起来的字符序列。例如,'Central South University'。若字符串中的字符含有单撇号,则该单撇号字符应用两个单撇号来表示。 字符串是以ASCII码形式存储的。abs和double函数都可以用来获取字符串矩阵所对应的ASCII码数值矩阵。相反,char函数可以把ASCII码矩阵转换为字符串矩阵。

例2.6 建立一个字符串向量,然后对该向量做如下处理: (1)取第1~5个字符组成的子字符串。 (2)将字符串倒过来重新排列。 (3)将字符串中的小写字母变成相应的大写字母,其余字符不变。 (4)统计字符串中小写字母的个数。

与字符串有关的另一个重要函数是eval,其调用格式为: eval(t) 其中t为字符串。它的作用是把字符串的内容作为对应的MATLAB语句来执行。例如 t=pi; m='[t,sin(t),cos(t)]'; y=eval(m)

2.6 结构和单元 2.6.1 结构数据 MATLAB通过使用结构(Structure)数据类型把一组不同类型的数据同时又是在逻辑上相关的数据组成一个有机的整体,以便于管理和引用。 1. 结构矩阵的建立与引用 2. 结构成员的修改

2.6.2 单元数据 单元(Cell)数据的概念与结构有些类似,也是把不同属性的数据放在一个变量中。所不同的是,结构变量的各个元素下有成员,每个成员都有自己的名字,对成员的引用是:结构变量名.成员名。而单元矩阵的各个元素就是不同类型的数据,用带有大括号下标的形式引用单元矩阵元素。