MATLAB第二章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1(3)Insert菜单选项功能XLabelTitleLegendColorbar命令窗口时进行MATLAB操作最主要的窗口,如下图所示。其中“》”为运算提示符,表示MATLAB处于准备状态。在该窗口中,用户可以运行函数、执行MATLAB的基本操作命令,以及对MATLAB系统的参数进行设置。MATLAB具有良好的交互性,当在提示符后输入一段正确的运算式时,只需要按回车键,该窗口就会直接显示运算结果,在MATLAB命令窗口中运行的所有命令都共享一个相同的工作空间,所以它们共享所有的变量。当用户使用命令窗口进行工作时,用户可以根据需要,对数值计算结果的显示格式、字体风格、大小等进行设置。选择“file”菜单中的“Preference”命令,弹出下图所示的参数设置对话框,在左侧列表栏中选择“CommandWindow”即可进入命令窗口的设置。1.4.1命令窗(CommandWindow)指令在MATLAB的默认设置中,关键字显示的字体为蓝色字体,命令、表达式、计算结果显示的字体为黑色,字符串显示的字体为褐红色,注释显示的字体为绿色,错误信息显示的字体为红色。2.2数值、变量和表达式1.MATLAB基本数值类型MATLAB的基本数值类型变量或者对象主要用来描述基本的数值对象,主要包括各种有无符号的整数型数据、双精度型(double)和单精度型(single)的数据。本小节主要对这些数值数据类型进行介绍。(1)整数MATLAB中主要包括8位、16位、32位和64位的有符号和无符号类型的整数数据类型,在定义整形数据变量时,需要指定变量的数据类型。表2-1给出了这8种数据类型的取值范围和类型转化函数。需要说明的是,表2-1中定义的整数数据类型不同,但是这些类型的数据具有相同的性质。每种类型数据都可以通过函数intmax和intmin来查询此种数据类型的上下限。例2-1整型数据的定义。x1=int16(20)x1=20intmin(‘int16’)ans=-32768intmax(‘int16’)ans=32767class(x1)ans=int16y1=35y1=352class(y1)ans=double以上代码中,显示出MATLAB中的整型数据定义方法及其默认的数据类型,同时通过intmin和intmax来获取整型数据的上下限。此外,class函数可以获取所定义变量的数据类型。MATLAB的默认数据存储类型为double类型,利用类型转化函数可将数据存储为整数类型。如果数据中含有小数部分,MATLAB将按照四舍五入的方法将其转化为整数。例2-2整数类型的转化。在命令窗输入:x=4.5001;int16(x)运行结果:ans=5用户也可以根据需要对数据的小数部分进行舍入。例2-3整数类型的范围。在命令窗输入:intmax(‘int8’),x=int8(333)运行结果:ans=127x=127整数的取值范围可以通过函数intmax和intmin来查看,如果待转化的数据超出了取值范围,则将该数据变为取值范围内的最值。(2)浮点数MATLAB的浮点数分为单精度浮点数类型(single)和双精度浮点数类型(double)。double为默认数据类型,需要64位的存储空间。单精度和双精度类型的取值范围可以选择用函数realmin、realmax来得到。单精度类型浮点数的精度可以通过函数eps来得到。例2-4单、双精度浮点数的数值范围和精度。realmin(‘single’)ans=1.1755e-038realmax(‘single’)ans=3.4028e+038realmin(‘double’)ans=2.2251e-038epsans=2.2204e-016此外,需要注意对于单精度的数据变量,创建方法和整型数据的创建方法相同,而对于单精度数据和双精度数据之间的混合运算,处理结果为单精度的数据结果。例2-5浮点数相对精度。在命令窗输入:formatlongeps(7),eps(3)运行结果:ans=8.881784197001252e-016ans=4.440892098500626e-016在命令窗输入:eps(single(7),eps(single(3))运行结果:3ans=4.7683716e-007ans=2.3841858e-007对于浮点数的运算操作要特别小心,以免带来不必要的麻烦。MATLAB中提供了大量的数据操作函数,可以进行不同数据类型变量的创建或数据之间的转化处理。表2-4所示为其中的一部分数据操作函数,主要实现整型变量或数据与双精度类型变量或数据之间的转换操作。表2-4MATLAB中常见的数值数据函数函数名称描述double创建或转化为精双度类型的数据single创建或转化为单精度类型的数据int8,int16,int32,int64创建或转化为有符号的整型数据uint8,uint16,uint32,uint64创建或转化为无符号的整型数据isnumeric数据类型判断函数,如果为整型数据或浮点数,那么函数返回trueisinteger整型数据判断函数,如果为整型数据,则返回trueisfloat浮点数类型判断函数,如果为单精度或双精度数据,则返回trueisa(x,’type’)判断x是否为指定的type类型数据,若是则返回truecast(x,’type’)将x的数据类型转化为type类型数据intmax(’type’)返回整形数据的最大数值intmin(’type’)返回整形数据的最小数值realmax(’type’)返回浮点数的最大数值realmin(’type’)返回浮点数的最小数值eps(’type’)返回type类型数据的eps数值(浮点数值,即精度)eps(‘x’)x的eps数值表中,type为numeric、integer、float及其他类型的数据类型。(3)复数MATLAB的复数分为实部和虚部两个部分,虚部可以用字母i或j来表示。直接将复数的数学表达式作为命令输入,就可以创建一个复数。另外,运用命令complex(a,b)也可以创建复数。complex函数的第一个参量是实部数组,第二个参量是虚部数组。例2-6创建复数。在命令窗输入:formatshort1-2i运行结果:ans=1.0000-2.0000i或在命令窗输入:complex(1,-2)运行结果:ans=1.0000-2.0000i利用函数real(z)和imag(z)可以获取复数的实部和虚部。例2-7获取复数的实部和虚部。在命令窗输入:A=[12;34];B=[56;78];Z=complex(A,B)Zr=real(Z)Zi=imag(Z)运行结果:Z=1.0000+5.0000i2.0000+6.0000i43.0000+7.0000i4.0000+8.0000iZr=1234Zi=5678(4)无穷与非数MATLAB中分别用inf和-inf表示无穷和负无穷,用NAN表示非数。例2-8无穷。在命令窗输入:1/0运行结果:ans=Inf例2-9非数。在命令窗输入:0/0运行结果:ans=NaN(5)数据显示形式MATLAB默认的数据显示形式是5位长度,但是用户可以通过参数选择对话框或者format函数设置数据的显示形式。如果需要采用其他的输出格式进行数据显示,那么用户可以通过设置输出格式来进行标示。可以设置的数据显示格式命令如表2-5所示。表2-5输出数据显示格式命令格式命令含义formatshort小数点后包括4位有效数字,最多不超过7位有效数字;如果数值大于1000,那么按照科学计数法来表示formatlong用15位数字来表示formatshorte5位科学计数法表示formatlonge15位科学计数法表示formatshortg从formatshort和formatshorte中自动选择最佳的数值表示方法formatlongg从formatlong和formatlonge中自动选择最佳的数值表示方法formatrat采用近似有理数来表示formathex十六进制标示format+用+、-和空格来分别标示正数、负数和零,复数中的虚部不表示formatbank金融表示方法,元、角、分等formatcompact显示变量之间没有空格formatloose显示变量之间有空格需要注意的是,以上所有的设置格式在当前的工作空间内有效,而在该执行过程后,这些格式都不再起作用,即当关闭工作空间后,这些设置结果都不再起作用。对于format的具体意义,读者还可以通过在命令窗口中输入helpformat来查询。例2-10数据显示形式。在命令窗输入:x=[2.21e-13]运行结果:x=2.20000.0000继续在命令窗输入:formatlongxx=52.2000000000000000.000000000001002.变量变量是任何程序设计语言的基本元素之一。MATLAB并不要求对所使用的变量进行事先声明,也不需要指定变量类型,MATLAB会自动根据所赋予变量的值或对变量所进行的操作来确定变量的类型。在赋值过程中,如果变量已经存在,MATLAB会用新值代替旧值,并以新的变量类型代替旧的变量类型。(1)变量的种类•局部变量(LocalVariables)A=0.01•全局变量(GlobalVariables)globalALPHAALPHA=0.01(2)变量的命名规则•变量名、函数名是对字母大小写敏感的,即区分大小写,如变量myvalue、MYValue、myVALUE等是不同的变量名。sin是MATLAB定义的正弦函数名,但SIN,Sin等都不是。•变量名的第一个字符必须是英文字母,最多可以包含65个字符(英文、数字和下连线)(可以用name_length_max函数查看当前版本的MATLAB允许的变量名最多包含多少个字符,老版本只能31个)。•变量名中不得包含空格,标点符号。•M文件名也必须满足这样的规则,才能在MATLAB中运行。在MATLAB中,数值都习惯采用十进制来表示,和一般的数学表示方法一致。如5,-10,0.001,3.1415926,3.0e+010等。此外,在MATLAB工作空间中,还驻留几个由系统本身定义的变量。这些变量在2011aMATLAB程序启动后,就已经自动定义,具有特定的含义和意义,如下表2-6。表2-6MATLAB预定义的变量预定义变量含义ansMATLAB中默认的计算结果变量名,answer的缩写形式pi圆周率eps浮点运算相对精度Inf或inf无穷大数的表示,如1/0nan或NaN不定值,不是一个数,通常由0/0、∞/∞等不能确定数值的时候产生i或j复数中的虚数单位,即i=j=1realmin可用的最小正浮点数realmax可用的最大正浮点数nargin在调用函数时,函数变量的输入个数nargout函数调用时,由函数输出的变量个数〖说明〗•在使用时,应尽量避免对这些变量重新赋值。•MATLAB以双精度执行所有的运算,运算结果可以在屏幕上输出,同时赋给指定变量;若无指定变量,则系统会自动将结果赋给变量“ans”。在定义变量时还需要注意,如果用户对预定义的特殊变量赋值,那么该特殊变量的数值将会临时被覆盖。当用clear命令清楚变量数值或重新启动MATLAB之后,预定义变量的数值可以恢复到初始值而不会发生变化;此外,在进行运算过程中,被0除不会导致程序的终止,系统会根据情况给出警告信息,并相应地用Inf或NaN来表示这些计算结果。3.运算符和表达式(1)数学运算符在MATLAB中提供了各种数学运算符号,这些运算符号是进行计算的基础。数学运算符是定义在矩阵上的,一个数在MATLAB中被看成1×1矩阵。主要包括以下一些基本的运算符号,如表2-7所示。6表2-7MATLAB表达式的基本运算符符号功能符号功能+加法-减法*矩阵乘法.*乘,点乘,即数组乘法/右除./数组右除\左除\.数组左除^乘方.^数组乘方‘矩阵共轭转置.’矩阵转置〖说明〗•MATLAB所有的运算定义在复数域上。对于方根问题,运

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功