第2讲变量数据及矩阵PPT讲稿.ppt
《第2讲变量数据及矩阵PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第2讲变量数据及矩阵PPT讲稿.ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2讲变量数据及矩阵第1页,共36页,编辑于2022年,星期一2.1 变量、数据与函数变量、数据与函数2.1.1 变量与赋值变量与赋值1变量命名变量命名 在在MATLAB 6.5中,变量名是以字母开头,后接字母、数字中,变量名是以字母开头,后接字母、数字或下划线的字符序列,如或下划线的字符序列,如a5487,a_b等,但必须不含有空格,等,但必须不含有空格,最多最多63个字符。个字符。在在MATLAB中,变量名区分字母的大小写,如中,变量名区分字母的大小写,如Items、items/itEms及及ITEMS都是不同的变量。都是不同的变量。2赋值语句赋值语句变量变量=表达式表达式 其中表达式是用
2、运算符将有关运算量连接起来的式子,其结果是其中表达式是用运算符将有关运算量连接起来的式子,其结果是一个矩阵。一个矩阵。第2页,共36页,编辑于2022年,星期一例例2-1 计算表达式的值,并显示计算结果。计算表达式的值,并显示计算结果。在在MATLAB命令窗口输入命令:命令窗口输入命令:x=1+2i;y=3-sqrt(17);z=(cos(abs(x+y)-sin(78*pi/180)/(x+abs(y)输出结果是:输出结果是:z=-0.3488+0.3286i第3页,共36页,编辑于2022年,星期一 2.1.2 预定义变量预定义变量 在在MATLAB工作空间中,还驻留几个由系统本身定义的量
3、,它工作空间中,还驻留几个由系统本身定义的量,它们有特定的含义,在使用时,应尽量避免对这些变量重新赋们有特定的含义,在使用时,应尽量避免对这些变量重新赋值。主要预定义变量如下:值。主要预定义变量如下:ans 用于结果的缺省变量名用于结果的缺省变量名 pi 圆周率圆周率 eps 计算机的最小数,当和计算机的最小数,当和1相加就产生一个比相加就产生一个比1大的数大的数 flops 浮点运算数浮点运算数 Inf 无穷大无穷大 如如1/0 NaN 不定量不定量 如如0/0 i和和j margin 所用函数的输入变量数目所用函数的输入变量数目 margout 所用函数的输出变量数目所用函数的输出变量数目
4、 realmin 最小可用正实数最小可用正实数 realmax 最大可用正实数最大可用正实数第4页,共36页,编辑于2022年,星期一2.1.3 MATLAB常用数学函数常用数学函数MATLAB提供了许多数学函数,函数的自变量规定为矩阵变量,运提供了许多数学函数,函数的自变量规定为矩阵变量,运算法则是将函数逐项作用于矩阵的元素上,因而运算的结果是一个与算法则是将函数逐项作用于矩阵的元素上,因而运算的结果是一个与自变量同维数的矩阵。自变量同维数的矩阵。常用函数:常用函数:abs(x)绝对值或复数的幅值绝对值或复数的幅值 acos(x)反余弦反余弦 acosh(x)反双曲余弦反双曲余弦 asin(
5、x)反正弦反正弦 asinh(x)反双曲正弦反双曲正弦 atan(x)反正切反正切 atanh(x)反双曲正切反双曲正切 angle(x)四象限内取复数相角四象限内取复数相角 atan2(x,y)四象限内反正切四象限内反正切 ceil(x)对对+方向取整数方向取整数 floor(x)对对-方向取整数方向取整数 fix(x)对零方向取整数对零方向取整数 exp(x)指数函数指数函数第5页,共36页,编辑于2022年,星期一cos(x)余弦余弦 cosh(x)双曲余弦双曲余弦sin(x)正弦正弦 sinh(x)双曲正弦双曲正弦tan(x)正切正切 tanh(x)双曲正切双曲正切conj(x)复数共
6、轭复数共轭 imag(x)复数虚数复数虚数real(x)复数实部复数实部 sqrt(x)平方根平方根gcd(x,y)整数整数x,y的最大公约数的最大公约数 lcm(x,y)最小公倍数最小公倍数log(x)自然对数自然对数 log10(x)常用对数常用对数rem(x,y)除后余数,给出除后余数,给出x/y的余数的余数round(x)四舍五入到最接近的整数四舍五入到最接近的整数sign(x)符号函数,返回自变量的符号符号函数,返回自变量的符号第6页,共36页,编辑于2022年,星期一2.1.4 数据的输出格式数据的输出格式 MATLAB用十进制数表示一个常数,具体可采用日常记用十进制数表示一个常数
7、,具体可采用日常记数法和科学记数法两种表示方法。数法和科学记数法两种表示方法。在一般情况下,在一般情况下,MATLAB内部每一个数据元素都是用双精内部每一个数据元素都是用双精度数来表示和存储的。数据输出时用户可以用度数来表示和存储的。数据输出时用户可以用format命令设命令设置或改变数据输出格式。置或改变数据输出格式。format命令的格式为:命令的格式为:format 格式符格式符其中格式符决定数据的输出格式:其中格式符决定数据的输出格式:short 5位定点显示格式(默认)位定点显示格式(默认)short e 5位带指数浮点显示格式位带指数浮点显示格式 long 15位定点浮点显示格式位
8、定点浮点显示格式 long e 15位带指数浮点显示格式位带指数浮点显示格式 bank 小数点后保留两位的银行格式小数点后保留两位的银行格式 rat 分数有理近似格式分数有理近似格式第7页,共36页,编辑于2022年,星期一2.1.5 数据类型概述和数值类型数据类型概述和数值类型MATLAB中有中有15种基本的数据类型,分别是种基本的数据类型,分别是8种有符号种有符号/无符号无符号整数类型、单精度浮点类型整数类型、单精度浮点类型(single)、双精度浮点类型、双精度浮点类型(double)、逻辑数据类型逻辑数据类型(logical)、字符串类型、字符串类型(char)、元胞数组、元胞数组(c
9、eil)、结、结构体构体(structure)、函数句柄。、函数句柄。这这15种基本的数据类型都是按照数组形式存储和操作的,另外,种基本的数据类型都是按照数组形式存储和操作的,另外,还有两种用于高级交叉编程,用户自定义的面向对象的用户类类还有两种用于高级交叉编程,用户自定义的面向对象的用户类类型和型和Java类型。类型。本小节主要介绍数值类型本小节主要介绍数值类型第8页,共36页,编辑于2022年,星期一1、整数类型、整数类型intn,uintn,定义了定义了8种整数类型,种整数类型,intn定义了有符号整数类型,定义了有符号整数类型,uintn定义了无符号整数类型。定义了无符号整数类型。n取
10、取8,16,32,64,当,当n取取不同时,整数类型所占用的位数不同,因此所能表示的数值范不同时,整数类型所占用的位数不同,因此所能表示的数值范围也不同,围也不同,intn所表示的数值范围为所表示的数值范围为 ,uintn表示为表示为 。由于由于MATLAB中数值的默认存储类型是双精度浮点类型,中数值的默认存储类型是双精度浮点类型,因此,必须通过因此,必须通过intn,uintn来转换为整数类型。在转换过程中,来转换为整数类型。在转换过程中,MATLAB 默认将待转换的数值转换为最接近的整数,若小默认将待转换的数值转换为最接近的整数,若小数部分正好为数部分正好为0.5,那么,那么MATLAB转
11、换后的结果是绝对值较转换后的结果是绝对值较大的那个整数另外,应用,这些转换函数也可以将其他类型大的那个整数另外,应用,这些转换函数也可以将其他类型转换撑指定的整数类型。转换撑指定的整数类型。例例2-2 通过转换函数创建整数类型通过转换函数创建整数类型X=325;y=325.499;z=325.5;str=welcome!第9页,共36页,编辑于2022年,星期一MATLAB中还有很多取整函数,可以用不同的策略把浮点小中还有很多取整函数,可以用不同的策略把浮点小数转换成整数,如下:数转换成整数,如下:round(a)向最接近的整数取整,小数部分是向最接近的整数取整,小数部分是0.5则向绝对值大的
12、方向取整;则向绝对值大的方向取整;fix(a)向向0方向取整方向取整floor(a)向不大于向不大于a的最接近整数取整的最接近整数取整ceil(a)向不小于向不小于a的最接近整数取整的最接近整数取整另外,整数类型参与的数学运算与另外,整数类型参与的数学运算与MATLAB中默认的双精度浮点中默认的双精度浮点运算不同,当两种相同的整数类型进行运算时,界过仍然时运算不同,当两种相同的整数类型进行运算时,界过仍然时这种整数类型;当一个整数类型数值与一个双精度浮点类型这种整数类型;当一个整数类型数值与一个双精度浮点类型数值进行数学运算时,计算结果是这种整数类型,取整采用数值进行数学运算时,计算结果是这种
13、整数类型,取整采用默认的四舍五入的方法;两种不同的整数类型之间不能进行默认的四舍五入的方法;两种不同的整数类型之间不能进行数学运算,除非提前进行强制转换。数学运算,除非提前进行强制转换。第10页,共36页,编辑于2022年,星期一例例2-3 整数类型数值参与的运算整数类型数值参与的运算无符号无符号32位整数位整数367.2和和20.3的乘积的乘积无符号无符号32位整数位整数34.321和双精度浮点数和双精度浮点数359.63的乘积的乘积无符号无符号32位整数位整数34.321和无符号和无符号16位整数位整数359.63的乘积的乘积 如果运算结果超出相应的整数类型能够表示的范围时,就会如果运算结
14、果超出相应的整数类型能够表示的范围时,就会出现溢出错误,运算结果被置为该整数类型的最大值或最小出现溢出错误,运算结果被置为该整数类型的最大值或最小值。值。例例2-4整数类型参与的运算及取整整数类型参与的运算及取整 将将300、100、100*2、-300、-100、-100*2设为设为8位整数类型位整数类型第11页,共36页,编辑于2022年,星期一2、浮点数类型、浮点数类型MATLAB中提供了中提供了 单精度浮点数类型和双精度浮点类型,单精度浮点数类型和双精度浮点类型,它们在存储位宽、各位用处、表示的数值范围、数值精度等它们在存储位宽、各位用处、表示的数值范围、数值精度等方面不相同。方面不相
15、同。浮点类型浮点类型存储位宽存储位宽各数据位的用处各数据位的用处数值范围数值范围转换函数转换函数双精度双精度640-51位位 小数部分小数部分52-62位位 指数部分指数部分63位位 符号符号(0为正,为正,1为负为负)-1.79769e+308-2.22507e-3082.22507e-3081.79769e+308double单精度单精度320-22位位 小数部分小数部分23-30位位 指数部分指数部分31位位 符号符号(0为正,为正,1为负为负)-3.40282e+038-1.17549e-0381.17549e-0383.40282e+038single例例2-5 浮点数转换函数的应用
16、浮点数转换函数的应用第12页,共36页,编辑于2022年,星期一双精度浮点数参与运算时,返回值的类型依赖于参与运算中的其他双精度浮点数参与运算时,返回值的类型依赖于参与运算中的其他数据类型。双精度浮点数于逻辑型、字符型进行运算时,返回结果数据类型。双精度浮点数于逻辑型、字符型进行运算时,返回结果为双精度浮点类型;而与整数型进行运算时返回结果为相应的整数为双精度浮点类型;而与整数型进行运算时返回结果为相应的整数类型,与单精度浮点型返回单精度浮点型。单精度浮点型与逻辑型、类型,与单精度浮点型返回单精度浮点型。单精度浮点型与逻辑型、字符型和任何浮点型进行运算时,返回结果都时单精度浮点型。字符型和任何
17、浮点型进行运算时,返回结果都时单精度浮点型。注注意:单精度浮点型不能和整数型进行运算。意:单精度浮点型不能和整数型进行运算。例例2-6 浮点型参与的运算浮点型参与的运算x=uint32(240);y=single(32.345);z=12.356;s=welcome计算计算x*y,x*z,y*z,s-32第13页,共36页,编辑于2022年,星期一3、复数、复数复数是对实数的一种扩展,每一个复数包括实部和虚部两部分,复数是对实数的一种扩展,每一个复数包括实部和虚部两部分,MATLAB中默认字符中默认字符i或者或者j表示虚部标志,创建复数可以直接表示虚部标志,创建复数可以直接输入或者利用输入或者
18、利用complex函数函数real(z)返回复数返回复数z的实部的实部 imag(z)返回复数返回复数z的虚部的虚部 abs(z)返回复数返回复数z的模的模 angle(z)返回复数返回复数z的幅角的幅角conj(z)共轭复数共轭复数 complex(a,b)a为实部为实部b为虚部为虚部 例例2-7 复数的创建和运算复数的创建和运算a=2+3ix=rand(3)*5y=rand(3)*-8z=complex(x,y)real(z),conj(z),abs(z)第14页,共36页,编辑于2022年,星期一4、无穷量(、无穷量(Inf)和非数值量(和非数值量(NaN)MATLAB中中Inf和和-I
19、nf分别代表正无穷和负无穷,用分别代表正无穷和负无穷,用NaN表示非表示非数值的数。正负无穷的产生一般是由于数值的数。正负无穷的产生一般是由于0做了分母或者运算溢做了分母或者运算溢出,产生了超出双精度浮点数值范围的结果;非数值量则是出,产生了超出双精度浮点数值范围的结果;非数值量则是因为因为0/0或者或者inf/inf型的非正常运算。注意,两个型的非正常运算。注意,两个NaN是不相等是不相等的。的。例例2-8 计算计算1/0,exp(1000),log(0).A=0/0,b=NaN,c=NaN(single),m=7i/0,a=b第15页,共36页,编辑于2022年,星期一5、确定数值类型的函
20、数、确定数值类型的函数class(A)返回变量返回变量A的类型名称的类型名称isa(A,class_name)变量变量A是否为是否为class_name的类型的类型isnumeric(A)是否为数值类型是否为数值类型isinteger(A)是否为整数类型是否为整数类型isfloat(A)是否为浮点类型是否为浮点类型isreal(A)是否为实数是否为实数isnan(A)是否为非数值量是否为非数值量isinf(A)是否为无穷量是否为无穷量isfinite(A)是否为有限数值是否为有限数值第16页,共36页,编辑于2022年,星期一2.2 MATLAB矩阵矩阵2.2.1 矩阵的建立矩阵的建立1直接输
21、入法直接输入法 最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。具体方法如下:将矩阵的元素用方括号括起来,按矩阵行的顺具体方法如下:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。行的元素之间用分号分隔。2利用利用M文件建立矩阵文件建立矩阵 对于比较大且比较复杂的矩阵,可以为它专门建立一个对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。下面通过一个简单例子来说明如何利用文件。下面通过一个简单例子来说明如何利用M文
22、件创建矩阵。文件创建矩阵。第17页,共36页,编辑于2022年,星期一 例例2-9 利用利用M文件建立文件建立MYMAT矩阵。矩阵。(1)启动有关编辑程序或启动有关编辑程序或MATLAB文本编辑文本编辑器,并输入待建矩阵:器,并输入待建矩阵:(2)把输入的内容以纯文本方式存盘把输入的内容以纯文本方式存盘(设文设文件名为件名为mymatrix.m)。(3)在在MATLAB命令窗口中输入命令窗口中输入mymatrix,即运行该,即运行该M文件,就会自动建立一个名文件,就会自动建立一个名为为MYMAT的矩阵,可供以后使用。的矩阵,可供以后使用。第18页,共36页,编辑于2022年,星期一3利用冒号表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 变量 数据 矩阵 PPT 讲稿
限制150内