版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章 MATLAB基本运算,2.1 数据类型 2.2 矩阵和数组的运算与操作 2.3 字符串 2.4 日期与时间 2.5 构架数组与元胞数组 2.6 关系运算与逻辑运算 2.7 多项式,2.1 数据类型,2.1 数据类型,2.1.1 MATLAB内置常量及其意义 ans:默认变量名 eps:浮点运算默认精度 i,j:虚数单位 Inf或inf:无穷大 NaN或nan:非数(Not a Number) pi:圆周率 realmax(realmin):最大(小)正实数 computer:计算机类型 version:MATLAB版本字符串 lasterr:最新一次错误信息 lastwarn:最新的警
2、告信息,2.1 数据类型,2.1.2 常数和变量 1.常数:以十进制表示 2.变量的命名 以英文字母引导,后面可以跟字母、数字、下划线,不能包含空格、标点 总长度不超过63个字符,之后的字符被忽略 大小写敏感 尽量以明显的含义命名,增加可读性 MATLAB的关键字不能作为变量名 尽量不要与MATLAB的内置常量、内建函数、工具箱函数同名,以免发生冲突 3.变量的取值:前面各种数据类型,以数组形式出现 4.变量的使用:不需要预定义,直接使用,2.1 数据类型,2.1.3 整数和浮点数 1.整数: 无符号型:uint8、uint16、uint32、uint64 有符号型:int8、int16、in
3、t32、int64 2.浮点数: 单精度型(single) 双精度型(double):MATLAB默认的数据类型 3.数据类型定义与转换: 整数定义与转换:int8()、uint8() 浮点数定义与转换:single()、double(),2.1 数据类型,2.1.4 复数 1.复数产生的方式 代数式:z=a+b*i、z=a+bi 指数式:z=r*exp(i*theta) 2.复数的运算函数 求实部与虚部:real(z)、imag(z) 求共轭复数:conj(z) 求复数的幅角:angle(z) 求复数的模:abs(z) 创建复数:complex(a,b),2.2 矩阵和数组的运算与操作,2.
4、2.1 基本概念与创建数组的基本规则 1.基本概念 空数组(empty array):没有元素的数组 标量(scalar):11矩阵,只有一个元素 向量(vector):1n或n1矩阵 矩阵(matrix):一个矩形的mn数组,即二维数组 数组(array):多维数组mnk,矩阵和向量都是数组的特例 2.创建数组的基本规则 矩阵元素应用方括号()括住 每行内的元素间用逗号或空格隔开 行与行之间用分号或回车键隔开 元素可以是数值或表达式,2.2 矩阵和数组的运算与操作,2.2.2 数组的创建 1.空数组 不包含任何元素的数组,可以用于数组声明、清空数组以及逻辑运算 创建方法:a=、b=ones(
5、2,0) 2.向量 直接输入法 使用a:d:b方式:初始值a,元素个数n=(b-a)/d linspace(a,b,n):与前法相同,d=(b-a)/n logspace(a,b,n):在10a,10b之间按对数等分 3.矩阵 直接输入法 向量组合法 文件导入法 数组编辑器输入法,2.2 矩阵和数组的运算与操作,2.2.2 数组的创建 4.特殊矩阵和数组 单位矩阵:eye(m,n) 魔方矩阵:magic(N) 全零数组:zeros(m,n,k) 全幺数组:ones(m,n,k) 0,1均匀分布随机数组:rand(m,n,k) a,b均匀分布随机数组:a+(b-a)*rand(m,n,k) 正态
6、分布N(0,1)随机数组:randn(m,n,k) 正态分布N(,2)随机数组:+*randn(m,n,k),2.2 矩阵和数组的运算与操作,2.2.3 数组的操作 1.数组元素的引用 全下标方式:A(i,j) 单下标方式:A(i) 全下标与单下标的相互转换关系:l=(c-1)m+r 2.子矩阵的产生 全下标方式:A(m1:m2,n1:n2) 单下标方式:A(m:n:k) 逻辑索引方式:A(L1,L2) 3.数组的赋值 全下标方式:A(i,j)=b 单下标方式:A(n)=b 全元素方式:A=B 4.矩阵的合并 水平合并:C=a b 垂直合并:C=a;b 5.数组元素的删除:赋值为空矩阵,2.2
7、 矩阵和数组的运算与操作,2.2.4 矩阵和数组的函数 1.矩阵的常用函数 计算方阵行列式:det(A) 求矩阵的秩:rank(A) 求矩阵的迹:trace(A) 求方阵的逆:inv(A) 计算方阵的特征值与特征向量:v,d=eig(A) 产生矩阵的对角阵:diag(A) 产生矩阵的上三角矩阵:triu(A) 产生矩阵的下三角矩阵:tril(A),2.2 矩阵和数组的运算与操作,2.2.4 矩阵和数组的函数 2.数组翻转 flipud(x):使x沿水平轴上下翻转 fliplr(x):使x沿垂直轴左右翻转 flipdim(x,dim):使x沿特定轴翻转 rot90(x,k):使x逆时针旋转k90
8、 3.数组查找:a,b=find(x) 4.数据统计: 数组中各列的最大值与最小值:max(x)、min(x) 数组中各列的平均值与标准差:mean(x)、geomean(x)、harmmean(x) 数组中各列的标准差与方差: std(x)、var(x) 数组中元素排序与中位数:sort(x,n,mode)、median(x) 数组中各列元素求和与求积:sum(x)、prod(x),2.2 矩阵和数组的运算与操作,2.2.5 矩阵和数组的算术运算 1.矩阵运算 矩阵的加减运算:同维或其中一个为标量 矩阵的乘法运算:维数相容或其中一个为标量 矩阵的除法运算:AB、A/B 矩阵的乘方运算:AB,
9、其中一个必须为标量 矩阵的转置:A,对复数矩阵为共轭转置 矩阵的初等函数运算:sqrm、expm、logm 2.数组运算 数组的算术运算:、.*、./、.、.、. 数组的初等函数运算:sqr、exp、log,2.2 矩阵和数组的运算与操作,2.2.6 稀疏矩阵 1.创建稀疏矩阵 直接创建稀疏矩阵:sparse(I,j,s,m,n) 由全元素矩阵转换为稀疏矩阵:sparse(p) 稀疏矩阵转换为全元素矩阵:full(p) 2.稀疏矩阵的存储空间 稀疏矩阵只存储非零元素的下标和元素值 第一个数组以double型存储非零元素实部值 第二个数组以整型存储非零元素行下标 第三个数组以整型存储每列起始指针
10、 如果是复数矩阵,则需第四个数组以double型存储非零元素虚部值 3.稀疏矩阵专门操作 nnz:返回稀疏矩阵非零元素个数 nonzeros:返回一个包含所有非零元素的列向量 nzmax:返回最大的非零元素个数 spy:用图形观看稀疏矩阵的非零元素分布情况,2.2 矩阵和数组的运算与操作,2.2.7 高维数组 1.高维数组的创建 直接赋值创建 二维数组扩展 标准数组生成函数创建 使用cat函数创建 2.高维数组的维度操作 数组的维数:ndims 数组的大小:size、length 高维数组形状改变:reshape函数 高维数组维度顺序改变:permute函数,2.2 矩阵和数组的运算与操作,2
11、.2.8 数组的信息获取 1.数组的大小 数组各维大小:m1,m2,=size(A) 数组最大维长度:d=length(A) 数组的维数:n=ndims(A) 数组元素个数:n=numel(A) 2.数组的检测 数值数组的类型检测:isnumeric、isreal、isfloat、isinteger 数组结构类型检测:isempty、isscalar、isvector、issparse、ischar、islogical、iscell、isstruct、isa、isnan、isinfinity,2.3 字符串,2.3.1 字符串数组的属性和标识 1.串数组的创建:一对英文单引号中的内容 2.串数
12、组的大小: 每个字符占据一个元素位置 英文字母、空格、标点都是平等的 后面不存在0字符 3.串数组的ASCII码:abs、double、char 4.对字符串ASCII码数组的操作 5.中文字符串数组:ASCII码大于256 6.创建带单引号的字符串:连续的两个单引号 7.由小串构成长串,2.3 字符串,2.3.2 复杂字符串数组的创建 1.多行字符串数组的直接创建 保证各行字符数相等 2.利用串操作函数创建多行串数组 3.转换函数产生数码字符串 int2str:把整数数组转换为串数组 num2str:把非整数数组转换为串数组 mat2str:把数值数组转换为输入形态的串数组 4.利用元胞数组
13、创建复杂字符串,2.3 字符串,2.3.3 字符串与数值的转换 1.字符串转换为数值 abs:将字符串转换为ASCII码数值 str2num:将字符串转换为数值 str2double:将元胞字符串数组转换为数值 2.数值转换为字符串 num2str:将数值转换为字符串 mat2str:将矩阵转换为字符串 char:将数值整数部分转换为ASCII码等值字符 3.各种数制之间的转换 十六进制与十进制:hex2num、hex2dec、dec2hex 二进制与十进制:bin2dec、dec2bin 任意进制与十进制:base2dec、dec2base,2.3 字符串,2.3.4 字符串的操作 1.字符
14、串的比较 字符串的相等比较:strcmp、strncmp 忽略大小写的相等比较:strcmpi、strncmpi 2.字符串的查找与替换 字符串匹配:strmatch 查找子串:findstr 查找分隔符:strtok 3.字符串的其他操作 空格的创建与删除:blanks、deblank 字符串求值:eval、feval 字符串的对齐:strjust 字符串的大小写转换:lower、upper,2.4 日期和时间,2.4.1 日期和时间的表示格式 1.日期格式 日期字符串:01-Jan-2007、01/01/2007 连续的日期数值:表示当前时间到起点(公元元年1月1日)的距离 日期向量:ye
15、ar month day hour minute second 2.日期格式转换 datestr:将日期格式转换为日期字符串格式 datenum:将日期格式转换为连续的日期数值格式 datevec:将日期格式转换为连续的日期向量格式,2.4 日期和时间,2.4.2 日期时间函数 1.获取系统时间 date:按照日期字符串格式获取当前系统时间 now:按照连续的日期数值格式获取当前系统时间 clock:按照日期向量格式获取当前系统时间 2.提取日期时间信息:year、month、day、hour、minute、second 3.日期的显示格式:datestr(d,f) 4.计时函数 cputim
16、e:返回MATLAB启动以来的CPU时间 tic/toc:启动/终止计时器,并返回计时时间 etime:获取程序运行时间,2.5 构架数组与元胞数组,2.5.1 元胞数组(cell array) 1.创建元胞数组 使用元胞创建数组:等式左边是(),表示对数组元素的引用,右边是,表示子元胞 由各元胞内容创建:等式左边是,表示元胞的内容,右边是元胞的实际内容,不用 使用cell函数创建一个空元胞数组,然后对每个元胞的内容单独赋值 2.元胞数组的操作 用提取元胞数组的元素内容 用()提取元胞数组的元素 用deal函数提取多个元胞元素的内容 3.元胞数组内容显示 显示元胞数组的具体数据内容:celld
17、isp 以图形方式显示元胞数组的结构:cellplot,2.5 构架数组与元胞数组,2.5.2 构架数组(Structure Array) 1.创建构架数组 直接创建:用“构架名.字段名”格式赋值 利用struct函数创建 2.获取构架数组内部数据 使用“.”符号获取 用getfield函数获取 使用fieldnames获取构架数组所有字段 使用“”合并相同字段的数据 3.构架数组的操作 删除构架数组的字段:rmfield 修改构架数组的数据:setfield 构架数组与元胞数组的转换:struct2cell、cell2struct,2.6 关系运算与逻辑运算,2.6.1 逻辑变量 逻辑型数据
18、:“1”、“0”或“true”、“false” 数值型转换为逻辑型:logical函数 逻辑数组与一般数值数组的区别与联系 2.6.2 关系运算 关系操作符:、=、=、=、= 如果两个标量比较,则结果为1或0 如果两个数组比较,则必须维数相同,结果是同样大小的数组 如果数组与标量比较,则把数组每个元素分别与标量比较,结果是同样大小的数组,2.6 关系运算与逻辑运算,2.6.3 逻辑运算 1.元素的逻辑运算 逻辑运算符:&(与)、|(或)、(非)、xor(异或) 如果两个标量进行逻辑运算,则结果为1或0 如果两个数组进行逻辑运算,则必须维数相同,结果是同样大小的数组 如果数组与标量进行逻辑运算,则把数组每个元素分别与标量进行逻辑运算,结果是同样大小的数组 2.先决逻辑运算:只能用于标量运算 A&B:当A为0时,直接得出逻辑运算结果为0,否则继续执行&运算 A|B:当A为1时,直接得出逻辑运算结果为1,否则继续执行|运算 3.位逻辑运算 运算函数:bitand(位与)、bitor(位或)、bitcmp(位非)、bitxor(位异或) 运算规则:对非负整数按二进制形式进行逐位逻辑运算,并将结果转换为十进制输出 4.关系逻辑函数 any(A):
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026以色列和约旦国家沙漠农业行业市场供需分析投资评估规划研究报告
- 腹股沟疝的护理护理查房
- 肿瘤科护理管理经验
- 九年级语文下册 第五单元 17 屈原(节选)教案 新人教版
- 制作可爱的靠枕 教案-2023-2024学年高一上学期劳动技术
- 七年级道德与法治下册 第二单元 做情绪情感的主人 第五课 品出情感的韵味教学设计设计(pdf) 新人教版
- 陕西省咸阳市高中政治 6.1中国共产党执政:历史和人民的选择教学设计 新人教版必修2
- 人教版物理必修二7.5《探究弹性势能的表达式》教学设计
- 陕西省蓝田县焦岱中学人教版高中信息技术必修1信息技术信息的鉴别与评价教案
- 江苏省启东市高中数学 第二章 平面向量 第10课时 2.4 向量的数量积(3)教学设计 苏教版必修4
- 护理管理学基础郑翠红
- JB-T 4149-2022 臂式斗轮堆取料机
- 风机齿轮箱介绍课件
- 幼儿一日活动保育-生活活动保育(婴幼儿保育课件)
- 山东2023年青岛银行西海岸分行社会招聘考试参考题库含答案详解
- 2022年江苏苏州张家港经开区(杨舍镇)学校公益性岗位招聘笔试备考题库及答案解析
- GB/T 11668-1989图书和其它出版物的书脊规则
- 地暖工程施工方案()
- 生物高考真题卷-天津卷(含答案解析)
- 人教版小学一年级道德与法治上册全册教学完整课件
- 楷书四大家课件
评论
0/150
提交评论