《MATLAB-Ra-基础教程基本使用方法.ppt》由会员分享,可在线阅读,更多相关《MATLAB-Ra-基础教程基本使用方法.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2022-8-152教学目标教学目标 掌握利用MATLAB R2010a的命令窗口进行简单的数学运算 掌握常用的操作命令和快捷键 了解MATLAB R2010a的数据类型 了解MATLAB R2010a的操作符 了解MATLAB R2010a的基本数学函数 了解MATLAB R2010a脚本编程2022-8-153教学重点教学重点 掌握利用MATLAB R2010a的命令窗口进行简单的数学运算 掌握常用的操作命令和快捷键 了解MATLAB R2010a的数据类型 了解MATLAB R2010a的操作符2022-8-154教学内容教学内容 简单的数学运算 常用的操作命令和快捷键 MATLAB R
2、2010a 的数据类型 MATLAB R2010a 的运算符 MATLAB的一些基础函数 MATLAB脚本文件 2022-8-155简单的数学运算(1/6) 最简单的计算器使用法直接输入法 存储变量法2022-8-156简单的数学运算(2/6) 表达式书写规则在大多数情况下,MATLAB 对空格不予处理,因此在书写表达式时,可以利用空格调整表达式的格式,使表达式更易于阅读。在 MATLAB 表达式中,遵守四则运算法则,与通常法则相同。即运算从左到右进行,乘法和除法优先于加减法,指数运算优先于乘除法,括号的运算级别最高;在有多重括号存在的情况下,从括号的最里边向最外边逐渐扩展。需要注意的是,在
3、MATLAB 中只用小括号代表运算级别,中括号只用于生成向量和矩阵,花括号用于生成单元数组。2022-8-157简单的数学运算(3/6) MATLAB中的常用数学函数 MATLAB提供的基本初等函数包括三角函数、指数函数和对数函数、复数函数、取整和求余函数、坐标变换函数、数理函数和一些特殊函数。 2022-8-158简单的数学运算(4/6) MATLAB 的数学运算符 需要注意的是,右除和左除的意义并不相同。右除为常规的除法,而左除的意义为:ab=b/a。 符号符号功能功能实例实例+加法加法3+5=8-减法减法3-5=-2*矩阵乘法矩阵乘法3*5=15.*乘,点乘,即数组乘法乘,点乘,即数组乘
4、法/右除右除3/5 =0.6000./数组右除数组右除左除左除35= 1.6667.数组左除数组左除乘方乘方35= 243.数组乘方数组乘方矩阵共轭转置矩阵共轭转置.矩阵转置矩阵转置2022-8-159简单的数学运算(5/6) 标点符号的使用 在 MATLAB 中,标点符号有着充分的意义,可以用标点符号进行运算,或者标点符号可以包含特定的意义。 标点符号标点符号定义定义标点符号标点符号定义定义分号(分号(;)数组行分隔符;取消运数组行分隔符;取消运行显示行显示点(点(.)小数点;结构体成员访问小数点;结构体成员访问逗号(逗号(,)数组列分隔符;函数参数组列分隔符;函数参数分隔符数分隔符省略号(
5、省略号()续行符续行符冒号(冒号(:)在数组中应用较多,如在数组中应用较多,如生成等差数列生成等差数列引号(引号()定义字符串定义字符串圆括号(圆括号(( ))指定运算优先级;函数指定运算优先级;函数参数调用;数组索引参数调用;数组索引等号(等号(=)赋值语句赋值语句方括号(方括号( )定义矩阵定义矩阵感叹号(感叹号(!)调用操作系统运算调用操作系统运算花括号(花括号( )定义单元数组定义单元数组百分号(百分号(%)注释语句的标识注释语句的标识2022-8-1510简单的数学运算(6/6) 分号(;) 分号用于区分数组的行,或者用于一个语句的结尾处,取消运行显示。 百分号(%) 该符号用于在程
6、序文本中添加注释,增加程序的可读性。百分号之后的文本都将视作注释,系统不对其进行编译。2022-8-1511常用的操作命令和快捷键(1/3) 为方便用户操作,MATLAB 中定义了一些快捷键。掌握一些常用的操作命令和快捷键,可以使得对 MATLAB 的操作更加便利。 2022-8-1512常用的操作命令和快捷键(2/3) 常用的操作命令命令命令功能功能命令命令功能功能cd显示或改变工作目录显示或改变工作目录hold图形保持命令图形保持命令clc清空命令窗口清空命令窗口load加载指定文件中的变量加载指定文件中的变量clear清除工作区中的变量清除工作区中的变量pack整理内存碎片整理内存碎片c
7、lf清除图形窗口清除图形窗口path显示搜索目录显示搜索目录diary日志文件命令日志文件命令quit退出退出 MATLABdir显示当前目录下文件显示当前目录下文件save保存内存变量保存内存变量disp显示变量或文字的内显示变量或文字的内容容type显示文件内容显示文件内容echo命令窗口信息显示开命令窗口信息显示开关关2022-8-1513常用的操作命令和快捷键(3/3) 常用的操作快捷键快捷键快捷键功能功能快捷键快捷键功能功能(Ctrl + p)调用上一行调用上一行Home(ctrl+a)移动到命令行开头移动到命令行开头(Ctrl + n)调用下一行调用下一行End(ctrl+e)移动
8、到命令行结尾移动到命令行结尾(Ctrl + b)光标左移一个字符光标左移一个字符Ctrl + Home移动到命令窗口顶部移动到命令窗口顶部(Ctrl + f)光标右移一个字符光标右移一个字符Ctrl + End移动到命令窗口底部移动到命令窗口底部Ctrl + 光标左移一个单词光标左移一个单词Shift + Home选中光标和表达式开头选中光标和表达式开头之间的内容之间的内容Ctrl + 光标右移一个单词光标右移一个单词Shift + End选中光标和表达式结尾选中光标和表达式结尾之间的内容之间的内容Esc取消当前输入行取消当前输入行Ctrl + k剪切光标和表达式结尾剪切光标和表达式结尾之间的
9、内容之间的内容2022-8-1514MATLAB R2010a 的数据类型 整数 浮点数 复数 逻辑变量 各种数据类型之间的转换 数据类型操作函数 变量 系统预定义的特殊变量 2022-8-1515整数 MATLAB 支持8位、16位、32位和64位的有符号和无符号整数数据类型。 上述整数数据类型除了定义范围不同外,具有相同的性质。数据类型数据类型描述描述uint88位无符号整数,范围为位无符号整数,范围为0255(即(即028-1)int88位有符号整数,范围为位有符号整数,范围为-128127(即(即-2727-1)uint1616位无符号整数,范围为位无符号整数,范围为065535(即(
10、即0216-1)int1616位有符号整数,范围为位有符号整数,范围为-3276832767(即(即-215215-1)uint3232位无符号整数,范围为位无符号整数,范围为04294967295(即(即0232-1)int3232位有符号整数,范围为位有符号整数,范围为-21474836482147483647(即(即-231231-1)uint6464位无符号整数,范围为位无符号整数,范围为018446744073709551615(即(即0264-1)int6464位有符号整数,范围为位有符号整数,范围为-92233720368547758089223372036854775807(即
11、(即-263263-1)2022-8-1516定义整数变量 定义变量:由于 MATLAB 默认的数据类型为双精度型,因此在定义整形变量时,需指定变量的数据类型。2022-8-1517整数运算(1/2) 运算:类型相同的整数之间可以进行运算,返回相同类型的结果。在进行加、减和乘法运算时比较简单,在进行除法运算时稍微复杂一些,因为在多精度情况下,整数的除法不一定能得到整数的结果。在进行除法时,MATLAB 首先将两个数视为双精度类型进行运算,然后将结果转化为相应的整形数据。 MATLAB 中不允许进行不同整数类型之间的运算。2022-8-1518整数运算(2/2)由于每种整数数据类型都有相应的取值
12、范围,因此数学运算有可能产生结果溢出。MATLAB 利用饱和处理处理此类问题,即当运算结果超出了此类数据类型的上限或下限时,系统将结果设置为该上限或下限。例 2-10 整数运算中的数据溢出 x=int8(100); y=int8(90); z=x+yz = 127 x-3*yans = -27 x-y-y-yans = -128结果溢出上限,因此结果为127 3*y溢出上限,结果为127,继续计算,得到最后结果-27 计算x-y-y-y时,从左到右进行计算,结果溢出下限,因此结果为-128 2022-8-1519浮点数(1/2) MATLAB 的默认数据类型是双精度类型(double)。为了节
13、省存储空间,MATLAB 也支持单精度数据类型的数组。 单精度和双精度数据类型的取值范围和精度可以通过例 2-12 的方式进行查看 2022-8-1520浮点数(2/2)例 2-12 单精度和双精度数据类型的取值范围和精度 realmin(single)ans = 1.1755e-038 realmax(single)ans = 3.4028e+038 eps(single)ans = 1.1921e-007 realmin(double)ans = 2.2251e-308 realmax(double)ans = 1.7977e+308 eps(double)ans = 2.2204e-01
14、6创建单精度类型的变量时需要声明变量类型,与创建整型变量类似。单精度数据类型的数据进行运算时,返回值为单精度。2022-8-1521复数 复数由两个部分组成:实部和虚部。基本虚数单位等于,在 MATLAB 中虚数单位由 i 或者 j 表示。 MATLAB 中可以通过两种方法创建复数,第一种方法为直接输入法,另一种创建复数的方法为通过 complex 函数。 2022-8-1522复数 complex 函数的调用方法如下。 c = complex(a,b),返回结果 c 为复数,其实部为 a,虚部为 b。输入参数 a 和 b 可以为标量,或者维数、大小相同的向量、矩阵或者多维数组,输出参数和 a
15、 和 b 的结构相同。a 和 b 可以有不同的数据类型,当 a 和 b 为各种不同的类型时,返回值分别为:当 a 和 b 中有一个为单精度时,返回结果为单精度;如果 a 和 b 其中一个为整数类型,则另外一个必须有相同的整数类型,或者为双精度型,返回结果 c 为相同的整数类型。c = complex(a),只有一个输入参数,返回结果 c 为复数,其实部为 a,虚部为 0。但是此时 c 的数据类型为复数。2022-8-1523逻辑变量(1/5) 逻辑数据类型通过 1 和 0 分别表示逻辑真和逻辑假。一些 MATLAB 函数或操作符会返回逻辑真或逻辑假表示条件是否满足。如表达式 (5 * 10)
16、40 返回逻辑真。 在 MATLAB 中,存在逻辑数组,如下面的表达式返回逻辑数组: 30 40 50 60 70 40ans = 0 0 1 1 12022-8-1524逻辑变量(2/5) 逻辑数组的创建 创建逻辑数组的最简单的方法为直接输入元素的值为 true 或者 false 逻辑数组也可以通过逻辑表达式生成2022-8-1525逻辑变量(3/5) MATLAB 中返回逻辑值的函数和操作符 函数函数说明说明true, false将输入参数转化为逻辑值将输入参数转化为逻辑值logical将数值转化为逻辑值将数值转化为逻辑值& (and), | (or), (not), xor, any,
17、all逻辑操作符逻辑操作符&, |“并并”和和“或或”的简写方式的简写方式= (eq), = (ne), (gt), = (ge)关系操作符关系操作符所有的所有的 is* 类型的函数,类型的函数,cellfun判断函数判断函数strcmp, strncmp, strcmpi, strncmpi字符串比较字符串比较2022-8-1526逻辑变量(4/5) 逻辑数组的应用 用于条件表达式 如果仅当条件成立时执行某段代码,可以应用逻辑数组进行判断和控制 用于数组索引在 MATLAB 中支持通过一个数组对另一个数组进行索2022-8-1527逻辑变量(5/5) 逻辑数组的判断 MATLAB 中提供了一
18、组函数用于判断数组是否为逻辑数组 函数函数功能功能whos(x)显示数组显示数组 x 的元素值及数据类型的元素值及数据类型islogical(x)判断数组判断数组 x 是否为逻辑数组,是则返回真是否为逻辑数组,是则返回真isa(x, logical)判断数组判断数组 x 是否为逻辑数组,是则返回真是否为逻辑数组,是则返回真class(x)返回数组返回数组 x 的数据类型的数据类型cellfun(islogical, x)判断单元数组的每个单元是否为逻辑值判断单元数组的每个单元是否为逻辑值2022-8-1528各种数据类型之间的转换 在 MATLAB 中,各种数据类型之间可以互相转化,转化方式为
19、:1)datatype(variable),其中 datatype 为目标数据类型,variable 为待转化的变量;2)cast(x,type),将x的类型转化为type指定的类型。 转化时,如果由高精确度数据类型转化为低精确度数据类型,则对数据进行四舍五入;如果由定义范围大的数据类型转化为定义范围小的数据类型,则返回目标数据类型的上限或下限。2022-8-1529数据类型操作函数 其中的 type 包括 numeric、integer、float 和所有的数据类型。 函数函数描述描述double创建或转化为双精度类型创建或转化为双精度类型single创建或转化为单精度类型创建或转化为单精度
20、类型int8,int16,int32,int64创建或转化为相应的有符号整数类型创建或转化为相应的有符号整数类型uint8,uint16,uint32,uint64创建或转化为相应的无符号整数类型创建或转化为相应的无符号整数类型isnumeric判断是否为整数或浮点数,是则返回判断是否为整数或浮点数,是则返回true(或者(或者1)isinteger判断是否为整数,是则返回判断是否为整数,是则返回true(或者(或者1)isfloat判断是否为浮点数,是则返回判断是否为浮点数,是则返回true(或者(或者1)isa(x,type)判断是否为判断是否为 type 指定的类型,是则返回指定的类型,
21、是则返回true(或者(或者1)cast(x,type)设置设置x的类型为的类型为 typeintmax(type)type 类型的最大整数值类型的最大整数值intmin(type)type 类型的最小整数值类型的最小整数值realmax(type)type 类型的最大浮点实数值类型的最大浮点实数值realmin(type)type 类型的最小浮点实数值类型的最小浮点实数值eps(type)type 类型类型eps值值eps(x)变量变量x的的eps值值2022-8-1530变量 MATLAB 的变量命名规则与其他计算机语言类似,这一节介绍 MATLAB 的命名规则。首先,变量名必须是一个单一
22、的词,不能包含空格,另外其命名必须符合下列规则:(1)变量名区分大小写。如 pi 和 Pi 是两个不同的变量。在命令窗口中输入如下的命令,查看其结果。(2)变量名长度不超过63个字符,超过的部分将会被忽略。(3)变量名必须以字母开始,其后可以为字母、数字或者下划线。MATLAB 中的变量名不支持其他符号,因为其他符号在 MATLAB 中具有特殊的意义。 2022-8-1531MATLAB R2010a 的操作符(1/3) 关系运算符 MATLAB 的关系运算符能用来比较两个相同大小的数组,或用来比较一个数组和一个标量。MATLAB 的关系运算符包括所有常用的比较运算符,如表所示 运算符运算符说
23、明说明运算符运算符说明说明小于小于大于大于=大于或等于大于或等于=等于等于=不等于不等于2022-8-1532MATLAB R2010a 的操作符(2/3) 逻辑运算符 逻辑运算符主要包括“与”、“或”和“非”。使用逻辑运算符可以将多个表达式组合在一起,或者对关系表达式取反。MATLAB 中的逻辑运算符如表所示。运算符运算符描述描述&与与&与,只适用于标量。与,只适用于标量。a & b,当,当 a 的值为的值为假时,则忽略假时,则忽略 b 的值的值|或或|或,只适用于标量。或,只适用于标量。a | b,当,当 a 的值为真的值为真时,则忽略时,则忽略 b 的值的值非非2022-8-1533MA
24、TLAB R2010a 的操作符(3/3) 运算符优先级 MATLAB 在执行含有关系运算和逻辑运算的数学运算时,同样遵循一套优先级原则。MATLAB 首先执行具有较高优先级的运算,然后执行具有较低优先级的运算;如果两个运算的优先级相同,则按从左到右的顺序执行。MALTAB 中各运算符的优先级顺序如表所示,表中按照优先级从高到低的顺序排列各运算符。运算符运算符圆括号圆括号 ()转置转置 (.),共轭转置,共轭转置 (),乘方,乘方 (.),矩阵乘方,矩阵乘方 ()乘法乘法 (.*),矩阵乘法,矩阵乘法 (*),右除,右除 (./),左除,左除 (.),矩阵右除,矩阵右除 (/),矩阵左除,矩阵
25、左除 ()加法加法 (+),减法,减法 (-),逻辑非,逻辑非 ()冒号运算符冒号运算符 (:)小于小于 (),小于等于,小于等于 (),大于等于,大于等于 (=),等于,等于 (=),不等于,不等于 (=)数组逻辑与数组逻辑与 (&)数组逻辑或数组逻辑或 (|)逻辑与逻辑与 (&)逻辑或逻辑或 (|)2022-8-1534MATLAB的一些基础函数 位操作函数 逻辑运算函数 集合函数 时间与日期函数 2022-8-1535MATLAB脚本文件(1/3) 对于一些简单的问题,当需要的命令数很少时,用户可以直接在 MATLAB 的命令窗口中输入命令。但是,对于多数问题,所需的命令较多,或者需要逻
26、辑运算,进行流程控制,此时采用直接输入命令的方法则会引起不便。针对这些问题,一个合理的解决方法是使用脚本文件。脚本文件不接受输入参数,不返回任何值,而是代码的结合,该方法允许用户将一系列 MATLAB 命令输入到一个简单的脚本文件中,只要在 MATLAB 命令窗口中执行该文件,则会依次执行该文件中的命令。 脚本文件的用法 在使用脚本文件时需要注意一点:当当前工作区中存在与该脚本同名的变量时,则当输入该文件名时,系统将其作为变量名执行。2022-8-1536MATLAB脚本文件(2/3) 块注释 在 MATLAB 7.0 以前的版本中,注释是逐行进行的,采用百分号(%)进行标记。逐行注释不利于用
27、户增加和修改注释内容。在 MATLAB 7.0 及以后的版本中,用户可以使用“%”和“%”符号进行块注释,“%”和“%”分别代表注释块的起始和结束。2022-8-1537MATLAB脚本文件(3/3) 代码单元 在以往的版本中,MATLAB 通过编译器提供的操作命令和工具执行一段选中的代码。在 MATLAB 7.0 及以后的新版本中,用户可以使用代码单元完成这一操作。一个代码单元指用户在 M 文件中指定的一段代码,以一个代码单元符号(两个百分号加空格,即“% ”为开始标志,到另一个代码单元符号结束,如果不存在代码单元符号,则直到该文件结束。用户可以通过 MATLAB 编辑器中的 cell 菜单创建和管理代码单元。 需要注意的是,代码单元只能在 MATLAB 编辑器窗口中创建和使用,而在 MATLAB 命令窗口中是无效的。当作命令窗口中运行 M 文件时,将执行文件中的全部语句。