第2讲MATLAB数据和基本函数_第1页
第2讲MATLAB数据和基本函数_第2页
第2讲MATLAB数据和基本函数_第3页
第2讲MATLAB数据和基本函数_第4页
第2讲MATLAB数据和基本函数_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2讲MATLAB数据和基本函数2.1MATLAB数据的特点1.矩阵是MATLAB最基本、最重要的数据对象。单个数据(标量)可以看成是矩阵的特例。2.MATLAB基本数据类型数值字符结构型数据(Structure)单元型数据(Cell)。矩阵数据的存储规则(存储顺序):列优先存储主要分类:整型(int):8位、16位、32位、64位;

有符号(如,int8)、无符号(如,uint8)

intmax、intmin函数。如intmax(‘int8’).浮点:单精度single(32位)、双精度double(64位,用最多)realmax、realmin函数;例如realmax(‘single’)

数据类型转换,例如:b=single(a)逻辑:是1、非0字符:‘字符串’结构型、单元型:数据组合函数句柄:高级编程中使用

Matlab中的分类:

double--Doubleprecisionfloatingpointnumberarray(thisisthetraditionalMATLABmatrixorarray)logical--Logicalarraychar--Characterarraycell--Cellarraystruct--Structurearrayfunction_handle--FunctionHandleint8--8-bitsignedintegerarrayuint8--8-bitunsignedintegerarrayint16--16-bitsignedintegerarrayuint16--16-bitunsignedintegerarrayint32--32-bitsignedintegerarrayuint32--32-bitunsignedintegerarray<class_name>--Customobjectclass<java_class>--Javaclassnameforjavaobjects用class函数进行数据类型判断如:class(a)2.2变量

变量是任何程序设计语言的基本要素之一,MATLAB语言当然也不例外。

与常规的程序设计语言不同:

不要求事先对所使用的变量进行声明,也不需要指定变量类型,MATLAB语言会自动依据所赋予变量的值或对变量所进行的操作来识别变量的类型。

在赋值过程中如果赋值变量已存在时,MATLAB语言将使用新值代替旧值,并以新值类型代替旧值类型。

举例:1、a=9;sqrt(a);OK!

2、a==9;新变量类型替代了原类型

3、b=int8(9);sqrt(b);

不支持2.2.1变量的命名在MATLAB中,变量名是以字母开头,后接字母、数字或下划线的字符序列,长度不超过31位(第31个字符之后的字符将被MATLAB语言所忽略)。在MATLAB中,变量名区分字母的大小写。MATLAB提供的标准函数名以及命令名必须用小写字母。在未加特殊说明时,一切变量为局部变量,即在其调用的M文件内有效。若要将变量定义为全局变量,则应当对变量进行说明,即在该变量前加关键字global。

2.2.2赋值语句MATLAB赋值语句有两种格式:(1)变量=表达式,将表达式的值赋给变量(2)表达式,将表达式的值赋给ans(默认)一般地,运算结果在命令窗口中显示出来。如果在语句的最后加分号,那么,MATLAB仅仅执行赋值操作,不再显示运算的结果。在MATLAB语句后面可以加上注释,注释以%开头,后面是注释的内容。

例2.1

计算表达式的值,并将结果赋给变量x,然后显示出结果。在MATLAB命令窗口输入命令:

x=(5+cos(47*pi/180))/(1+sqrt(7)-2*i)%计算表达式的值

2.2.3数据的输出格式MATLAB用十进制数表示一个常数,具体可采用日常记数法和科学记数法两种表示方法。数据输出时用户可以用format命令设置或改变数据输出格式,格式为:format格式符;

也可以通过file菜单|preferences对话框设定。注意,format命令只影响数据输出格式,而不影响数据的计算和存储。2.2.4预定义变量1、常量;2、默认变量名在MATLAB工作空间中,还驻留几个由系统本身定义的变量,它们有特定的含义。可以重新赋值,但在使用时,应尽量避免对这些变量重新赋值。 名称值i、j虚数单位piπeps浮点数相对误差NaN不定值Realmin最小正浮点数Realmax最大正浮点数ans默认结果beep发警告声Inf无穷大

2.2.5内存变量的管理

1.内存变量的显示与删除

who和whos这两个命令用于显示在MATLAB工作空间中已经驻留的变量名清单。clear命令用于删除MATLAB工作空间中的变量。注意,预定义变量不能被删除,而是恢复(reset)。

2.工作空间浏览器

(1)工作空间浏览器的启动

(2)工作空间浏览器的操作

3.内存变量文件利用MAT文件(.mat)可以把当前MATLAB工作空间中的一些有用变量长久地保留下来。MAT文件的生成和装入由save和load命令来完成。常用格式为:

save文件名[变量名表]

load文件名[变量名表]也可以通过工作空间浏览器进行。2.3字符串字符串是用单撇号括起来的字符序列。例如,'CentralSouthUniversity'。若字符串中的字符含有单撇号,则该单撇号字符应用两个单撇号来表示。字符串是以ASCII码形式存储的。

字符串命令和函数abs(str)和double(str)获取字符串矩阵所对应的ASCII码数值矩阵char(n)把ASCII码矩阵转换为字符串矩阵size(a)查看字符数组的维数num2str(f)数字转换到字符串int2num(f)整数转换到字符串mat2num(A)矩阵转换到字符串str2num(str)字符串转换到数字blanks(n)生成n个空字符串deblank(str)返回没有后续空格的字符串lower(str)转换小写upper(str)转换大写strcmp(str1,str2)比较str1和str2,相等返回1,否则返回0stricmp(str1,str2)同上,但不区分大小写strncmp(str1,str2,n)比较str1和str2中前n个字符,相等返回1,否则返回0strncmpi(str1str2,n)同上,但不区分大小写findstr(str1,str2)在str1中查找str2的起始位置strrep(str1,str2,str3)在str1中含有str2的所有位置用str3代替strtok(str1,str2)返回str1中含有str2的第一个标记前所有的str1的部分。如果str2没有指定,则返回str1中不含空格的第一个序列strcat(str1,str2,…)将字符串连接起来strvcat(str1,str2,…)将字符串连成一个列向量strmatch(key,strs)检查strs中的各行,返回一个向量,它包含了行以字符串key开头的行号

例如:strmatch('max',strvcat('max','minimax','maximum'))eval(str)执行str中包含的matlab命令;evaluationselection

例如

t=pi;m='[t,sin(t),cos(t)]';y=eval(m)y=3.14160.0000-1.00002.4结构型变量2.5.1结构数据

MATLAB通过使用结构(Structure)数据类型把一组不同类型的数据同时又是在逻辑上相关的数据组成一个有机的整体,以便于管理和引用。2.5.2定义方法1、用指针操作符“.”直接定义;2、用函数struct定义>>a.type=‘big';>>a.color=‘red’;>>a.x=3;>>a=type:'big'color:'red'x:31、直接定义:2、函数定义:>>s=struct('type','big','color','red','x',3)单元(Cell)数据的概念与结构有些类似,也是把不同属性的数据放在一个变量中。所不同的是:结构变量的各个元素下有成员,每个成员都有自己的名字,对成员的引用是:结构变量名.成员名。单元矩阵的各个元素就是不同类型的数据,用带有大括号下标的形式引用单元矩阵元素。2.5单元型变量(细胞型)单元型变量的创建使用大括号

>>A={1:4,[12;34],'abcd'}A=[1x4double][2x2double]'abcd‘对细胞逐一赋值

>>c{1,1}=1:3;>>c{1,3}='abcd';>>cc=[1x3double][]'abcd‘使用cell创建大小合适的空矩阵

>>d=cell(2,4)d=[][][][][][][][]相关函数celldisp(cell)逐个显示cell的每个元素的值cellplot(cell)显示cell的结构图基本数学函数三角函数1.sin(x)、cos(x)、tan(x)功能:正弦、余弦、正切,x为弧度2.asin(x)、acos(x)、atan(x)功能:反正弦、反余弦、反正切3.sec(x)、csc(x)功能:正割、余割4.asec(x)、acsc(x)5.sinh(x)、coth(x)、tanh(x)、coth(x)6.asinh(x)、acosh(x)、atanh(x)、acoth(x)7.sech(x)、acsch(x)8.asech(x)、acsch(x)指数和对数函数1.exp(x)功能:指数函数,e的x次2.log(x)功能:自然对数,即ln(x)3.log10(x)功能:常用对数4.log2(x)功能:以2为底的对数5.pow2(x,f)功能:X乘2的f次7.sqrt(x)功能:平方根复数函数1.abs(z)功能:绝对值和复数模2.angle(z)功能:相角3.conj(z)功能:复共轭4.imag(z)功能:复数虚部5.real(z)功能:复数实部6.cplxpair(v)功能:将向量v中的复数排序成共轭对,并且各元素按实部递增排序,若v中的一个元素在v中没有他自己的共轭复数,则返回错误信息。取整和求余函数1.fix(x)功能:朝零方向取整2.floor(x)功能:朝负无穷大方向取整,求小于或等于x的整数3.ceil(x)功能:朝正无穷大方向取整,求大于或等于x的整数4.round(x)功能:朝最近整数取整(四舍五入),如果x是向量,则适用于所有元素5.gcd(x,y)功能:求x和y的最大公因子6.lcm(x,y)功能:求正整数x和y的最小公倍数7.mod(x,y):取模功能:模数7.rem(x,y):取余功能:除后余数,与mod的区别:rem(x,y),x-n.*y,n=fix(x./y)mod(x,y),x-n.*y,n=floor(x./y)当除数与被除数的符号相同时,rem和mod的结果是完全相同的;当除数与被除数的符号不相同时,结果不同8.sign(x)功能:符号函数,正得1,负得-1,零得09.rat(x)功能:求x的分数表达式10.rat(x,tol)功能:带相对误差tol的x的分数表达式逻辑函数1.all(x)功能:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论