您好,欢迎访问三七文档
1Matlab应用—数据基础杨颖信息与电气工程学院2009-9-27信电学院计算机系杨颖2TipsMatlab7.0下载地址:农大首页-〉共享服务-〉ftp中目录:software/行业软件/数学软件/matlab7.0.1课件下载地址:目录:杨颖作业上传地址:目录:matlab应用用户名:yy密码:yy信电学院计算机系杨颖3Matlab数据基础数值向量和数组Matlab数据类型矩阵及数值计算信电学院计算机系杨颖4数值向量和数组-生成在命令窗口中直接输入向量生成向量最简单的方法就是在命令窗口中按一定格式直接输入。输入的格式要求是,向量元素用“[]”括起来,元素之间用空格、逗号或者分号相隔。a2=[15,21,27,93,101];a1=[15;21;27;93;101];信电学院计算机系杨颖5数值向量和数组-生成等差元素向量的生成冒号生成法:Vec=vec0:n:vecn使用linspace函数:Vec=linspace(vec0,vecn,n)使用logspace函数:Vec=logspace(d1,dn,n)产生从10d1到10dn以等差数为幂分布的n个数信电学院计算机系杨颖6数值向量和数组-生成利用随机数发生器rand(1,n):产生n个[0,1]区间均匀分布的随机数randn(1,n):产生n个服从N(0,1)正态分布的随机数信电学院计算机系杨颖7数值向量和数组-寻址访问•通过对数组下标的访问来实现数组寻址A=rand(1,5)A=0.95010.23110.60680.48600.8913A(4)ans=0.4860A([245])ans=0.23110.48600.8913A(5:-2:1)ans=0.89130.60680.9501A(3:end)ans=0.60680.48600.8913信电学院计算机系杨颖8数值向量和数组向量运算向量与数的四则运算向量与数的加法(减法):向量中的每个元素与数的加法(减法)运算。向量与数的乘法(除法):向量中的每个元素与数的乘法(除法)运算。向量与向量之间的加减运算向量与向量的加法(减法)运算:向量中的每个元素与另一个向量中相对应的元素的加法(减法)运算。信电学院计算机系杨颖9数值向量和数组向量运算向量范数norm(V,p)||V||p=[∑|V(i)|p]1/p向量元素求和sum(V)点积dot两个向量的点积等于其中一个向量的模与另一个向量在这个向量的方向上的投影的乘积叉积cross叉积的几何意义是指过两个相交向量的交点,并与此两向量所在平面垂直的向量信电学院计算机系杨颖10数值向量和数组数组运算数组的加法(减法):+-数组的乘法(除法):.*./数组的乘方:.^信电学院计算机系杨颖11Matlab数据类型Matlab中建立了多种类型来满足不同用户的需要。Matlab中共有14种基本数据类型,如字符型、整数8位、整数16位、整数32位、数值8位、数值16位、数值32位、数值单精度、数值双精度、单元型、结构型等,这些数据类型都以数组方式出现。信电学院计算机系杨颖12Matlab数据类型-常量和变量常量在MATLAB中有一些特定的变量,它们已经被预定义了某个特定的值,因此这些变量被称为常量。常量常量的功能常量常量的功能ans用作结果的默认变量名realmin最小的正浮点数beep使计算机发出“嘟嘟”声realmax最大的正浮点数pi圆周率bitmax最大的正整数eps浮点数相对误差i或j复数单位inf无穷大nan不定数信电学院计算机系杨颖13Matlab数据类型-常量和变量变量MATLAB7语言不要求对所使用的变量进行事先说明,而且它也不需要指定变量的类型,系统会根据该变量被赋予的值或对该变量所进行的操作来自动确定变量的类型变量名长度不超过31位,超过31位的字符系统将忽略不计变量名区分大小写变量名必须以字母开头,变量名中可以包含字母、数字或下划线,但不允许出现标点符号信电学院计算机系杨颖14Matlab数据类型-数值型几乎在所有的情况下,MATLAB的数据都是以双精度数值来表示的,这些双精度数在系统内部用二进制来表示。数据输出时用户可以用format命令设置或改变数据输出格式。信电学院计算机系杨颖15Matlab数据类型-数值型format命令的格式为:format+格式符其中格式符决定数据的输出格式。short小数点后4位(系统默认值)long小数点后14位shorte5位指数形式longe15位指数形式例如:pi,bitmax,realmax信电学院计算机系杨颖16Matlab数据类型-复数MATLAB7语言对复数的处理也是十分简便的,在处理复数问题时,不需要进行其他任何的附加操作。a2=pi+3.14ja2=3.1416+3.1400ib=4*(1+3/sqrt(-1))b=4.0000-12.0000i信电学院计算机系杨颖17Matlab数据类型-字符型MATLAB中的字符串一般是ASCII值的数值数组,它作为字符串表达式进行显示。MATLAB对字符串的设定非常简单,只需用单引号(’)将需设定的字符串引注即可。str='Ihavemanygoodfriends!'str=Ihavemanygoodfriends!whosNameSizeBytesClassstr1x2550chararray字符串实际上字符型数组信电学院计算机系杨颖18Matlab数据类型-字符串操作字符串的读取:与数组读取一样字符串名(索引)str='今天是2008年10月10日,我们班一起去上海旅游。'str=今天,是2005年10月25日,我们班一起去上海旅游。str(6)ans=0信电学院计算机系杨颖19Matlab数据类型-字符串操作字符串的连接:strcat:水平连接strvcat:垂直连接A=‘Todayissunday‘;B=‘Iwanttogohome’;CH=strcat(A,B)CH=TodayissundayIwanttogohomeCV=strvcat(A,B)CV=TodayissundayIwanttogohome信电学院计算机系杨颖20Matlab数据类型-字符串操作字符串的比较:判断两个输入的字符串是否相等。strcmp:比较字符串大小strncmp:比较字符串的前n个字符当相等时,系统将返回值1,不相等时,返回值0words1=‘Sitdown‘;words2=‘Situation’;X=strcmp(words1,words2);Y=strncmp(words1,words2,3);信电学院计算机系杨颖21Matlab数据类型-字符串操作字符串的查找与替换:findstr:K=findstr(S1,S2)根据所给的字符串中的字符来查找字符串,当查找成功后返回第一个相同字符的具体位置。S1和S2的位置可以互换。strfind:K=strfind(text,pattern)只能在字符串text中查找字符串pattern,如果pattern的长度大于text时会返回[]。strrep:S=strrep(S1,S2,S3)把字符串S1中的子串S2全换成字符串S3,并返回置换后的新字符串。信电学院计算机系杨颖22Matlab数据类型-字符串变换字符串的ASCII码操作:A=‘Todayissunday‘;s=abs(A)s=Columns1through1184111100971213210511532115117Columns12through1511010097121B=char(s)信电学院计算机系杨颖23Matlab数据类型-字符串转换常见的字符串转换函数函数功能函数功能hex2dec将16进制字符串转化为10进制整数dec2hex将10进制整数转化为16进制字符串bin2dec将2进制字符串转化为10进制整数dec2bin将10进制整数转化为2进制字符串base2dec转化B底字符串为10进制整数hex2num将16进制字符转化为双精度数upper改该字符串为大写lower改该字符串为小写fprintf把格式化的文本写到文件中或显示屏上sprintf用格式控制,数字转换成字符串sscanf用格式控制,字符串转换成数字charASCII码转换成字符串num2str数字转换成字符串int2str整数转换成字符串信电学院计算机系杨颖24Matlab数据类型-单元数组单元数组是一种特殊类型数组,它的每一个元素是单元,在单元里可以保存各种类型的Matlab数组,例如实数矩阵,文本字符串数组,结构数组等。直接生成单元数组使用cell函数生成单元数组单元数组的内容的显示或获取信电学院计算机系杨颖25直接生成单元数组用类似矩阵的记号将给复杂的数据结构纳入一个变量之下。和矩阵中的圆括号表示下标类似,单元数组由大括号表示下标。A={['Gonewiththewind','Scarlett','2008/10/10'],[2+3i,cos(pi)]}A=[1x36char][1x2double]信电学院计算机系杨颖26使用cell函数生成单元数组应用举例A=cell(1,4)A=[][][][]A{1,1}=[‘Monday’‘Time']A='MondayTime'[][][]A{2}=[123;456]A='MondayTime'[2x3double][][]信电学院计算机系杨颖27单元数组的内容的显示或获取celldisp(A);A{2}ans=123456B={A,[‘Sunny’;’Windy’]};celldisp(B);B{1};celldisp(B{1});信电学院计算机系杨颖28Matlab数据类型-结构型变量结构类型是对某个对象,不同属性的数据,用一系列数据来表示,结构类型中的变量可以是数值、亦可以是字符串。因此,图书条目,产品档案等都可以是结构类型。直接输入法生成结构型变量使用struct函数生成结构型变量在结构体变量中添加、调用成员变量在结构体变量中删除成员变量信电学院计算机系杨颖29直接输入法生成结构型变量student.test=[995696876769877692];student.name=‘ZhangSan';student.weight=68;student.height=1.72;student.num=2003214091;student.school=‘ChinaAgricultureUniversity';student.tel='1381042679*';信电学院计算机系杨颖30使用struct函数生成结构型变量var_name=struct(‘field1’,val1,‘field2’,val2,…)train=struct(‘destination’,‘北京’,‘No’,2163,’Time’,’18:43’)train=destination:'北京'No:2163Time:’18:43’信电学院计算机系杨颖31结构类型与单元数组转换c=struct2cell(s)s=cell2struct(c)struct2cell(train)ans='北京'[2163]'18:34‘信电学院计算机系杨颖32在结构体变量中添加、调用成员变量train(2).destination='Shanghai';train(2).No=4431;train(2).Time='8:20';traintrain=1x2structarraywithfields:destinationNoTimetrain(1);tra
本文标题:Matlab二
链接地址:https://www.777doc.com/doc-3383538 .html