版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208Matlab基础与应用郑中杰 实验教学部 2017年第2章 基本数据类型Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208主要内容2.2 MATLAB数据类型2.3 向量及其运算2.4 矩阵及其运算2.1 变量Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 201702082.1 变量1. 变量的命名规则l 变量名必须以字母开头。所允许的最长变量名为63个字符。l 变量名允许使用的后续字符仅包括字母、数字或下划
2、线。(如my_2合法)l 变量名区分字母大小写。(如变量a与变量A不同)l MATLAB程序中保留的关键字不能用作变量名。(如for、end、if、function等,可使用iskeyword查看)l MATLAB允许重新指定内置函数名作为变量名,但很危险。(如sin=4,若要重置,clear sin)Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 201702082.1 变量2. 特殊变量 是由系统预先自动定义的,当MATLAB启动时驻留在内存中。Matla
3、b基础与应用基础与应用 20170208Matlab基础与应用基础与应用 201702082.1 变量3.变量赋值 变量名=表达式sin 与 sind 函数的区别?Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208Matlab原理及应用案例教程原理及应用案例教程变量管理 1. 内存变量的显示与删除 Who和whos这两个命令用于显示在MATLAB工作空间中驻留的变量名清单。但whos在给出驻留变量名同时,还给出它们的维数、所占字节数以及变量的类型。下面的例子说明了who和whos命令的区别。说明:clear命令用于删除MATLAB工作空间中的变
4、量。注意,预定义变量不能被删除。Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208Matlab原理及应用案例教程原理及应用案例教程变量管理常用的还有一个class函数,该函数可以用来获取变量或对象的类型,也可以用来创建用户自定义类型。在本章中主要利用其获取变量或者对象的功能。 a=2.3 class(a)ans =doubleMatlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208Matlab原理及应用案例教程原理及应用案例教程变量管理MATLAB工作空间窗口专门用于内存变量的管理,如图所示。在工作空
5、间窗口中可以显示所有内存变量的属性。当选中某些变量后,再单击工作空间窗口工具栏中Delete按钮,就能删除这些变量。Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208Matlab原理及应用案例教程原理及应用案例教程变量管理当选中某些变量后,再单击Open Selection按钮,即可进入变量编辑器,如图所示。通过变量编辑器可以直接观察变量中的具体元素,也可修改变量中的具体元素。Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208P21示例:例2.3 save mydata a b x load m
6、ydata2.1 变量4. 变量的清除、保存与载入 save 文件名 变量名表 -append-ascii load 文件名 变量名表 -asciiwho / whosclearMatlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 201702082.2 MATLAB数据类型 MATLAB的主要处理对象是矩阵和数组。MATLAB数据类型(数组)数值型数组 逻辑型数组 字符型数组 符号数组 元胞数组 结构数组其他类型整数浮点有符号无符号单精度双精度元胞数组和结构数组可以在同一数组中存储不同类型的数据其他类型包括用户定义类型和Java类型Matlab基础与应用基础与应
7、用 20170208Matlab基础与应用基础与应用 201702082.2 MATLAB数据类型 不同类型的数据能表示的数据范围、占用的存储空间等均不同。MATLAB 7.0默认将所有的数值都按照双精度浮点数类型来存储和操作。数据类型表示存储空间/数据范围双精度double8字节realmax(double) : 1.7977e+308realmin(double) : 2.2251e-308单精度single4字节realmax(single) : 3.4028e+038realmin(single) : 1.1755e-038 1.数值型-浮点数Matlab基础与应用基础与应用 2017
8、0208Matlab基础与应用基础与应用 201702082.2 MATLAB数据类型数据类型表示存储空间/数据范围有符号整数int8 int16 int32 int641字节intmax(int8) : 127 intmin(int8) : -128无符号整数uint8 uint16 uint32 uint641字节intmax (uint8) : 255intmin(uint8) : 0 复数默认存储类型是双精度,实部和虚部都需要存储,需要两倍的存储空间。存储一个双精度的复数需要16字节,可存为单精度或整数类型。如int(5+3i) 1.数值型-整数Matlab基础与应用基础与应用 201
9、70208Matlab基础与应用基础与应用 20170208Matlab原理及应用案例教程原理及应用案例教程(1) 在工作空间窗口中可以看到各变量在存储空间中占用的字节数。(2) 整数与浮点数相乘运算后其结果仍然是整数。(3) 相同的整型数据之间的运算,结果为同类型的整数。不同的整数型数据之间不能进行运算。整数类型说明Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208Matlab原理及应用案例教程原理及应用案例教程Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208P26示例: (complex函
10、数)例2.5 a=3 b=4 c=complex(a,b) %产生复数 c =3.0000 + 4.0000i r=real(c) %复数的实部 r = 3 m=imag(c) %复数的虚部 m =4 k=abs(c) %复数的模 k =5 t=angle(c)*180/pi %复数的相角用角度表示 t = 53.1301 cc=conj(c) %共轭复数 cc =3.0000 - 4.0000i2.2 MATLAB数据类型Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208Matlab基础与应用
11、基础与应用 201702082.2 MATLAB数据类型数据类型表示存储空间一个字符 a一个字符2字节一个字符串abc三个字符6字节 2.字符型函数名功能举例abs(s)double(s)将字符串s转换为ASCII码值abs(ab3) : 97 98 51double(ab3) : 97 98 51str2num(s)将字符串s转换为数值str2num(34 67) : 34 67num2str(n) 将数值n转换为字符串num2str(34) : 34 setstr(n)将ASCII码值转换为字符setstr(97) : a x=abc;y=cdefg;z=x y % 连接字符串z=abcc
12、defg k=a+3 %k=100Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 201702082.2 MATLAB数据类型表示存储空间注意1 : true1字节非零值非零值: :逻辑逻辑1 1零值零值: :逻辑逻辑0 00 : false1字节3.逻辑型(函数logical)关系运算符说明逻辑运算符说明=等于不等于小于大于小于等于大于等于&|与或非Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208先决逻辑运
13、算v先决逻辑运算可以减少逻辑判断,运行效率高,但是先决逻辑运算只适用标量的运算。先决逻辑运算符有&(先决与)和|(先决或)。Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208先决逻辑运算v(1) a & b:首先判断a的逻辑值,如果a的值为0(假),就可以判断整个表达式的值为0(假),就不需要再判断b的值。否则继续进行&运算。v(2) a | b:首先判断a的逻辑值,如果a的值为1(真),就可以判断整个表达式的值为1(真),就不需要再判断b的值。否则继续进行|运算。Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应
14、用 201702082.2 MATLAB数据类型注意:运算符的优先级运算符优先级算术运算1关系运算2逻辑运算3P29示例:num=81 91 13 91 63 10 28 55 96 96; n=(num60)&(num struct1(1).name = zhengzhongjie; struct1(2).name = heping; struct1(1).age = 31; struct1(2).age = 22; struct1struct1 =1x2 struct array with fields:nameage Matlab基础与应用基础与应用 20170208Matlab基础与应
15、用基础与应用 20170208利用利用struct函数定义结构体数组函数定义结构体数组调用格式:s = struct(field1, values1, field2, values2, )s = struct(field1, , field2, , struct2 = struct(name, zzj, heping,age,31, 22) Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208常用函数Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 201702082.2.6 单元数据类型v单元(Cell)数据,
16、也成为元胞数据,其概念与结构体类似,也是把各种不同属性的数据放在一个单元中,每一个单元用来存放各种不同类型不同尺寸的数据,如矩阵、多维数组、字符串、单元数组和结构体。v所不同的是结构体变量的各个元素下有字段,每个字段都有自己的名字,而单元数据的各个元素就是不同类型的数据,用带有大括号大括号下标的形式引用单元元素。Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208直接赋值定义元胞数组 c1 = 1 2; 3 4, zhengzj, 10; 5 6 7, . %续行符abc;def, I LOVE MATLAB Matlab基础与应用基础与应用 2
17、0170208Matlab基础与应用基础与应用 20170208元胞数组的访问元胞数组的访问 v访问元胞数组C的第i行第j列的元胞,用命令C(i, j),注意用的是圆括号;访问元胞数组C的第i行第j列的元胞里的元素,用命令Ci,j,注意用的是花括号。 celldisp函数可以显示元胞数组里的所有内容 Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208v c = 1 2, zheng, zhengzj; MATLAB, .3 4; 5 6, I LOVE MATLABc =1x2 double zheng zhengzjMATLAB 2x2 do
18、uble I LOVE MATLAB c(2, 2) %小括号为访问元胞ans =2x2 double c2, 2 %花括号为访问元胞元素ans =3 45 6Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208 c = 1 2, zzj; MATLAB, 3 4; 5 6; celldisp(c)c1,1 =1 2c2,1 =MATLABc1,2 =zzjc2,2 =3 45 6 Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 201702082.2 MATLAB数据类型5. 元胞数组、结构体数组(P35-3
19、8:阅读) 用于复杂的编程项目或数据库应用,存储工程中所涉及的各种数据。 A= 1011, Mike,male,90 87 86;1012, Mary,female,85 78 84; A1,4 % ans = 90 87 86 A1,4(1,3) % ans = 86 a(1).number=1011; a(1).name=mike; a(1).sex=male; a(1).score=90; a(1)= struct(number,1011,name, Mike,sex,male,score,90)Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 2017
20、02082.2 MATLAB数据类型 理解术语:Matlab的标量、向量、矩阵、数组名称说明示例标量单个数据 a=2 (1行1列)11矩阵向量一行或一列数据行向量:a=3,5,7,8 (1行4列) 或a=3 5 7 8 列向量:b=a (4行1列)14矩阵41矩阵矩阵m行n列的二维数据a=2 4 5; 9 7 1 (2行3列)23矩阵以上均为二维数据,都可用二维矩阵表示,都是二维数值数组以上均为二维数据,都可用二维矩阵表示,都是二维数值数组引用某个元素: a(5)Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用
21、 20170208Matlab基础与应用基础与应用 20170208矩阵的定义方式v注意输入的时候,(空格)Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 201702082.4 矩阵及其运算2.矩阵与向量的互相转换u向量转为矩阵 A = reshape(x, m, n) % 将向量x转为m行n列的矩阵如: 定义长度为18的向量,将其转为3行6列的矩阵。 x = 1:18 ; A = reshape(x, 3, 6)% %A = reshape(x,3,) 或 A = reshape(x,6) Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 201702082.4 矩阵及其运算2.4.1矩阵的定义2.矩阵与向量的互相转换u矩阵转为向量 x = A(:) % 矩阵转为列向量如: 将矩阵 A转为向量 A = 1, 2, 3;4 5 6;7 8, 9; x = A(:) Matlab基础与应用基础与应用 20170208Matlab基础与应用基础与应用 20170208矩阵的存储方式(顺序)与索引访问v通过:,把矩阵转为向量x = A(:) % 矩阵转为列向量 A = 1, 2, 3;4 5 6;7 8, 9; x = A(:) 在矩阵中,按列存储1st4th7th2nd5th8th
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年内蒙古自治区赤峰市翁牛特旗乌敦套海中学初三下学期1月月考化学试题含解析
- 2026年河北省保定高碑店市初三中考仿真模拟卷(一)化学试题含解析
- 2026年陕西省西安市经开区重点名校初三下学期考试化学试题理试题分类汇编含解析
- 安徽省合肥市第四十五中学2026年初三第一次中考模拟考试化学试题理试题含解析
- 2026年国家安全八进活动进企业进网络进平台进园区进课堂
- 2026年数字重庆与智慧蓉城协同贯通共建一体化数字底座方案
- 2026年批处理大小(batch-size)调优与吞吐量提升策略
- 职业规划与自我管理:职场晋升指南
- 活动后客户反馈收集与处理方案
- 房地产开发商销售顾问面试技巧
- 王者荣耀水友赛活动方案
- 136号文深度解读及案例解析培训
- 食品用洗涤剂产品生产许可证实施细则
- 歌唱活动活动方案
- 上海宝山区区属国有(集体)企业招聘笔试题库2025
- 水炮施工方案消防水炮安装施工方案
- 新版药品管理法培训课件
- 2025年中国国新控股有限责任公司招聘笔试参考题库含答案解析
- DB33 786-2010 水泥行业安全生产基本要求
- 磷酸铁销售合同范例
- 湖北省襄阳市2024年中考数学试题(含解析)
评论
0/150
提交评论