




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章 MATLAB的基本使用方法,本章介绍MATLAB的一些基础知识,包括MATLAB中的数据类型、表达式、函数、常用命令和快捷键等内容。 【学习目标】 掌握MATLAB中简单数值运算方法; 掌握常用的操作命令和快捷键; 掌握MATLAB中基本的数据类型; 了解MATLAB的函数。,2.1 MATLAB的表达式和函数,【例2-1】求 的算术运算结果。 1. 在Command Window中输入表达式: (12+2*(7-4)/32 2. 在上述表达式输入完成后,按【Enter】键,该式被执行,显示以下结果: ans = 2 通常表达式的运算结果赋值给一个输出变量,在没有给定输出变量名时,系统默认采用变量ans(The most recent answer)。,【例2-2】表达式的续行输入。 当一个表达式内容过多,以致一行写不完时,可在行末加加上符号“.”,再另起一行继续输入表达式的剩余内容。例如: S=1-1/2 + 1/3 - 1/4 + . 1/5 - 1/6 + 1/7 - 1/8 结果为: S = 0.6345,本例中表达式赋值给了变量S。再看此时的Workspace窗口,发现已经多了两个变量了。 “”是命令提示符,本书后续章节如果出现此符号,其后面的内容表示我们的输入的命令、函数、语句等等。,2.1.1 变量,MATLAB不要求事先对变量进行声明,也不需要指定变量类型,MATLAB会自动依据所赋予变量的值或对变量所进行的操作来识别变量的类型。在赋值过程中如果赋值变量已存在时,MATLAB语言将使用新值代替旧值,并以新值类型代替旧值类型。 在MATLAB语言中变量的命名应遵循如下规则:,1. 变量名区分大小写。 2. 变量名长度不超31位,第31个字符之后的字符将被MATLAB语言所忽略。 3. 变量名以字母开头,可以是字母、数字、下划线组成,但不能使用标点。,在MATLAB语言中也存在变量作用域的问题。在未加特殊说明的情况下,MATLAB语言将所识别的一切变量视为局部变量,即仅在其使用的M文件内有效。若要将变量定义为全局变量,则应当对变量进行说明,即在该变量前加关键字global。一般来说全局变量均用大写的英文字符表示。,2.1.2 基本运算符,MATLAB象其它语言一样,包含算术运算、逻辑运算、关系运算等运算类型,每种类型的运算有自己的运算符,对关系和逻辑运算,还有相应的运算函数,2.1.3 函数,MATLAB的强大功能的主要体现就在于它提供的各种类别的函数。除了基本的数学函数之外,MathWorks公司针对不同领域,推出了信号处理、控制系统、神经网络、图像处理、小波分析、鲁棒控制、非线性系统控制设计、系统辨识、优化设计、统计分析、财政金融、样条、通信等30多个具有专门功能的工具箱,这些工具箱里的函数是由该领域内的学术水平较高的专家编写的,无需用户自己编写所用的专业基础程序,可直接对工具箱进行运用。同时,工具箱内的函数源程序也是开放性的,多为M文件,用户可以查看这些文件的代码并进行更改,MALAB支持用户对其函数进行二次开发,用户的应用程序也可以作为新的函数添加到相应的工具箱中。,2.2常用的操作命令和快捷键,2.2.1命令窗口(Command Window)中的常用操作,2. 命令窗口中的标点符号命令使用,注意:以上的符号一定要在英文状态下输入,因为MATLAB不能识别中文标点符号。,3. 数值计算结果的显示格式,在MATLAB中进行数值运算时,运算结果的默认显示格式为:当数值为整数,以整数显示;当数值为实数,以小数后4位的精度近似显示,即以“短(Short)”格式显示;如果数值的有效数字超出了这一范围,则以科学计数法显示结果。,MATLAB还提供了“format”函数,用于数值显示格式的设置。其功能描述如表2.3所示。,4. 命令窗口的常用控制命令 clc:用于清空命令窗口中的显示内容。 more:在命令窗口中控制其后每页的显示内容行数。,2.2.2 工作空间浏览器窗口常用命令,工作空间浏览器窗口(Workspace Browser)用于显示所有MATLAB工作空间中的变量名、数据结构、类型、大小和字节数。 通过命令可以对变量进行观察、编辑、提取和保存,常用命令有: save: 把工作空间中的数据存放到MAT数据文件 save FileName 变量1 变量2 参数 %将变量保存到文件中,说明: FileName为MAT文件名; 变量1、变量2可以省略,省略时则保存工作空间的所有变量; 参数为保存的方式,有-ASCII、-append等方式。 save FileName1 %把全部内存变量保存为FileName1.mat文件 save FileName2 a b %把变量a,b保存为FileName2.mat文件 save FileName3 a b -append %把变量a,b添加到FileName3.mat文件,load: 从数据文件中取出变量到工作空间 load FileName 变量1 变量2 说明:变量1、变量2可以省略,省略时则装载所有变量。 例如: load Filename1 %把FileName1.mat文件中的全部变量装入内存 load FileName2 a b %把FileName2.mat文件中的a,b变量装入内存,who: 查阅MATLAB内存变量名 who Your variables are: a b c whos: 查阅MATLAB内存变量的名字、大小、类型和字节数,whos: 查阅MATLAB内存变量的名字、大小、类型和字节数 whos Name Size Bytes Class a 1x1 8 double array b 1x5 10 char array c 3x2 48 double array Grand total is 12 elements using 66 bytes clear: 删除工作空间中的变量 clear a who Your variables are: b c,exist(X) : 查询工作空间中是否存在某个变量 i=exist(X) %查询工作空间中是否有X变量 说明: i=1 :表示存在一个变量名为X的变量; i=2 :表示存在一个名为X.m的文件; i=3 :表示存在一个名为X.mex的文件; i=4 :表示存在一个名为X.mdl文件; i=5 :表示存在一个名为X的内部函数; i=0 :表示不存在以上变量和文件。,2.2.3 文件管理命令,MATLAB中还有许多文件管理命令,常用的命令有: what:列出当前目录下的M、MAT、MEX文件清单 dir:列出指定目录下的文件和子目录清单 type 文件名:显示指定M文件的内容 which 文件名:指出文件所在的目录 MATLABroot:返回安装MATLAB的根目录 diary:把当前命令窗口中的所有内容(包括命令、计算结果等)保存到日志文件中 diary (file) %使用指定文件名创建日志文件 diary off %暂停执行diary命令 diary on %恢复执行diary命令并使用当前的文件名,1. 在Command Window中使用的快捷键: 1) 【 键】切换到之前、之后的命令,可以重复按多次来达到你想要的命令。 2) 【Tab】键在Command Window中,输入一个命令的前几个字符,然后按tab键,会弹出前面含这几个字符的所有命令,找到并选中你要的命令,回车,就可以自动完成。 3) 【Ctrl+C】(或【CtrlBreak】)在MATLAB程序运行过程中,可能由于程序编写的失误,导致程序不停的运行,在命令窗口输入“Ctrl+C”可以将运行的程序停下来,而不需要将整个MATLAB程序关掉。不过进行此操作的前提是能够激活切换到命令窗口才行。 4) 【End】行的最后 5) 【HOME】当前行的首部 6) 【ESC】删除当前行,2.2.4 MATLAB的快捷键,2. 在编辑器(Editor)中常用的快捷键: 1) 【Tab】(或【Ctrl+】)增加缩进(对多行有效) 2) 【Ctrl+】减少缩进(对多行有效) 3) 【Ctrl+I】自动缩进(即自动排版,对多行有效) 4) 【Ctrl+R】注释(对多行有效) 5) 【Ctrl+T】去掉注释(对多行有效) 6) 【Ctrl+B】括号配对检查 7) 【F12】设置或取消断点 8) 【F5】运行程序,2.3 MATLAB 的常用数据类型,MATLAB有15种基本的数据类型,每种数据类型的数据都以矩阵或数组的形式存在。所有的基本数据类型用小写字符显示。,2.3.1 数值型,在MATLAB中,数值型的数据包括有符号和无符号整数(int)、单精度(float)和双精度(double)浮点数。整数和单精度数组提供了比双精度更有效的存储组织结构。,1整数,1)8种类型的整数 MATLAB有4种有符号整数和4种无符号整数,有符号整数能够表示负整数和正整数,而无符号整数类型只能表示正整数和0。各类型整数的表示范围及之间进行类型转换的函数,2)建立整数类型数据 MATLAB存储数值数据的默认类型是双精度浮点数,要存储为整数类型的数据,必须使用显示在表2.4中的转换函数。比如,建立一个有符号的16位整数: x = int16(32501); 转换函数还用来将其他数据类型转换成整型: str= Hellow! int8(str) 结果将把str字符串里面的每一个字符(包括中间的空格)转换为其ASCII码,结果输出为: ans = 72 101 108 108 111 119 33,使用whos函数,可显示由一个变量表示的数组的维数、字节计数和数据类型,例如: whos x 结果为: Name Size Bytes Class x 1x1 2 int16 array Grand total is 1 element using 2 bytes 如果想知道数据类型,并且指定输出的话,则可以使用class函数,例如: xType = class(x) 结果为: xType = int16 如果要验证变量是否是整数,则使用isinteger函数: isinteger(x) 结果为: ans = 1,2. 浮点数,MATLAB用双精度或单精度格式表示浮点数,默认格式是双精度,但可以用转换函数转换为单精度。 1)双精度浮点数 MATLAB按照IEEE 754标准构造双精度型数据。作为双精度存储的任何数据,都需要64位,其格式如表2.5所示。,2) 最大和最小的双精度值 MATLAB的函数realmax和realmin返回能够表示的最大和最小双精度值,例如: str = The range for double is :nt%g to %g ; sprintf(str,realmin,realmax) ans = The range for double is : 2.22507e-308 to 1.79769e+308 本例中定义了字符串str,str字符串的后半部分“nt%g to %g ”用于规定输出格式,称为格式字串(format string),这与C语言基本相同。其中n和t是转义字符(Escape Character);转义字符是一种特殊的字符常量,它们以反斜线“开头,其后跟一个或几个字符。它们具有特定的含义,不同于字符原有的意义,故称“转义”字符。常用的转义字符在表2.6列出。,本例中,sprintf函数的作用是将规定输出格式的数值写入到字符串中str中,成为字符串str的一部分;其中%g是用于规定输出格式的字符串,称为格式转换字符(Conversion Character),其位置将被后面的realmax和realmin的值所取代。%g规定输出格式是“紧凑指数形式”。常用的格式转换符号在表2.7中列出。,3) 建立双精度数 因为MATLAB默认数值型数据是双精度类型,所以能够用最简单的赋值语句建立双精度数。如果一个数很大,则它需要设为双精度类型,单精度是不能容纳的: x = 5.73 * 10300 x = 5.7300e+300 用isfloat函数用来验证变量x是否是浮点数。,4)转换到双精度数 使用double函数,可以把其他数值型数据、字符、字符串等转换成双精度。例如: y = int64(-589324077574 x = double(y) x = -5.8932e+011,5)单精度浮点数 同样,MATLAB按照IEEE标准754构造单精度型数据。作为单精度存储的任何数据,都需要32位,其格式如表2.8。,单精度值依然使用realmax和realmin函数,只是调用时要有参数single,返回能够表示单精度的最大值和最小值。 建立单精度数必须使用single函数建立单精度数: x = single(25.783); whos x Name Size Byte Class x 1x1 4 single array 同样用single函数能将其他数字、字符、字串和逻辑数转换成单精度。,3. 复数,复数由两个单独的部分组成:实部和虚部。虚数单位在MATLAB中用字母i和j中的一个表示。 建立复数有两种方法:直接用语句和使用complex函数。例如: x = 2 + 3i x = 2.0000 + 3.0000i 再来使用complex函数建立复数。 x = rand (3) * 5 ; y = rand (3) * -8 ; z = complex (x, y) z= 4.7506 3.5576i 2.4299 7.3745i 202823 3.2456i 1.1557 4.9235i 4.4565 5.9057i 0.0925 7.4834i 3.0342 603355i 3.8105 1.4101i 4.1070 7.3352i 通过real和imag函数可以把复数分为实数和虚数部分。,4. 无穷大数 MATLAB使用特殊值inf、-inf分别表示正、负无穷大数。isinf函数用来验证变量x是否为无穷大数。 5. 非数值 MATLAB用特殊值NaN(Not a Number),表示即不是实数也不是复数的值,意思说不是一个数。表达式inf/inf和0/0都产生NaN。,2.3.2 逻辑型,逻辑型数据分别用1和0表示真或假两种状态。一些MATLAB函数和运算符返回逻辑真或假,以表示某个条件是否满足了,条件满足为真,不满足为假。 逻辑数据不一定都是标量,MATLAB也可支持逻辑值数组。比如,下面的语句返回一个逻辑向量。 30 40 50 60 70 40 ans = 0 0 1 1 1,2.3.3 字符串,字符和字符串运算是各种高级语言必不可少的部分,MATLAB中的字符串是其进行符号运算表达式的基本构成单元。 在MATLAB中,字符串和字符数组基本上等价的,所有字符串都用单引号进行输入或赋值。字符串的每个字符(包括空格)都是字符数组的一个元素。例如: s= matrix laboratory s = matrix laboratory size(s) %size查看数组的维数 ans = 1 18,2.3.4 日期格式的类型,MATL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电表行业研究报告及未来行业发展趋势预测
- 2025年富镧稀土金属行业研究报告及未来行业发展趋势预测
- 2025年解压球行业研究报告及未来行业发展趋势预测
- 2025年除颤器行业研究报告及未来行业发展趋势预测
- 多一块麦乐鸡多一块开心活动方案
- 物业维修服务费用结算合同范本
- 2025年新能源行业电动汽车充电设施技术专利创新与应用报告
- 2025年能源行业智能电网优化布局与区域发展策略报告
- 临床护理进展题库及答案解析
- 2025年消防行业消防安全知识培训考试题库:职业道德知识问答与实战演练
- 《工程建设领域农民工工资专用账户资金管理三方协议(样本)》
- 面料培训资料
- 2025秋三年级上册语文上课课件 9 犟龟
- 国家保密培训课件
- 《党政机关厉行节约反对浪费条例》培训课件
- 工商业光伏施工总承包合同
- 参考儿科急危重症抢救预案及流程
- 高铁司机长时间专注心理调节专题报告
- 科技馆面试题库及答案
- T/CHTS 10130-2024高韧超薄沥青磨耗层技术指南
- 活动人员分工安排方案
评论
0/150
提交评论