计算机仿真技术基础22matlab运算基础2课件_第1页
计算机仿真技术基础22matlab运算基础2课件_第2页
计算机仿真技术基础22matlab运算基础2课件_第3页
计算机仿真技术基础22matlab运算基础2课件_第4页
计算机仿真技术基础22matlab运算基础2课件_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机仿真技术基础22matlab运算基础2课件计算机仿真技术基础22matlab运算基础2课件 牛牛文库文档分享2/74例2-32 设 求 A2B。方法1:A=4 -3 1;2 0 5;B=1 2 0;-1 0 3;A-2*B方法2:A=4 -3 1;2 0 5;B=1 2 0;-1 0 3;b=uminus(2*B) %,返回2*B的相反数A+b 牛牛文库文档分享4/74例2-3 牛牛文库文档分享3/742)矩阵和数组的乘法运算矩阵的乘法运算符为*,定义为:设A=(aij)ms,B=(bij)sn,则A与B的乘积CAB=(cij)mn是 mn矩阵,其中cij( i= 1,2, , m ;j

2、 =1,2, ,n) 等于A的第i行与B的第j列对应元素的乘积之和。 数组的乘法运算符为.*,两个矩阵必须同型时才可以进行数组乘法运算。运算规则为:矩阵A和B中的对应元素相乘。 如果参加运算的矩阵其中有一个是标量时,矩阵和数组的乘法运算均为标量与矩阵的每个元素进行乘法运算。 牛牛文库文档分享5/742)矩阵 牛牛文库文档分享4/74例2-33 求乘积 AB 和 BA。A=1 0 3;2 1 0;B=4 1;-1 1;2 0;A*B,B*A 牛牛文库文档分享6/74例2-3 牛牛文库文档分享5/74例2-34 求 (AB)T和BTAT(T为转置运 算)。A=1 -1 2;2 0 1;B=2 -1

3、 0;1 1 3;4 2 1;(A*B)B*A 牛牛文库文档分享7/74例2-3 牛牛文库文档分享6/743)矩阵和数组的除法运算矩阵除法运算的运算符为和/,分别表示左除和右除。矩阵除法的定义为:AB=A-1B A/B=AB-1其中A-1和B-1是矩阵A和B的逆,矩阵B的逆也可用函数inv求得。 牛牛文库文档分享8/743)矩阵 牛牛文库文档分享7/74除法运算的运算符为.和./,分别数组为数组的左除和右除,表示数组的相应元素相除。两个矩阵必须同型时才可以进行数组除法运算。定义为:设A=(aij)mn,B=(bij)mn,则数组的右除为C=(cij)mn= (aij/ bij )mn,数组的左

4、除为C=(cij)mn= (bij/ aij )mn。 牛牛文库文档分享9/74除法运算 牛牛文库文档分享8/74例2-35 求解方程组A=2 2 -1 1;4 3 -1 2;8 3 -3 4;3 3 -2 -2;b=4 6 12 6;X=Ab %等价语句为 X=inv(A)*b 牛牛文库文档分享10/74例2- 牛牛文库文档分享9/74 矩阵和数组的乘方运算矩阵乘方运算的运算符为,运算表达式为AB,矩阵乘方运算的含义是:AB表示方阵A自乘B次。数组乘方运算的运算符为.,运算表达式为A.B,其中A和B都可以是矩阵或标量。 牛牛文库文档分享11/742.2 牛牛文库文档分享10/74数组乘方运算

5、有下列形式:当A为矩阵,B为正整数时,则将aij自乘B次;当A为矩阵,B也为矩阵时,A和B矩阵必须同型,则将aij自乘bij次。当A为正整数,B为矩阵时,将Abij构成新矩阵的第i行第j列元素。 其中aij和bij分别表示矩阵A和B的第i行第j列元素。 牛牛文库文档分享12/74数组乘 牛牛文库文档分享11/74矩阵和数组的数学函数 常用的数学函数有三角函数、指数函数和整值函数等。 需要注意的是: MATLAB 6.5以前的版本三角函数的自变量和反三角函数的返回值为弧度; MATLAB 7.0版本中提供了三角函数的自变量和反三角函数的返回值分别为角度和弧度的两类函数。 牛牛文库文档分享13/7

6、42.2 牛牛文库文档分享12/74例2-36 求30。、60。和90。的正弦、 余弦、正切和余切函数值。x=30:30:90;sind(x),cosd(x),tand(x),cotd(x) %三角函数的自变量为角度值 牛牛文库文档分享14/74例2- 牛牛文库文档分享13/74例2-37 求0.1,0.2,0.3,0.4,0.5,0.6 的反正弦、反余弦和反正切值。x=0.1:0.1:0.6;asin(x),acos(x),atan(x) %返回值为弧度asind(x),acosd(x),atand(x) %返回值为角度 牛牛文库文档分享15/74例2- 牛牛文库文档分享14/74例2-38

7、 求1到10的自然对数和常用 对数。x=1:10;log(x) %返回值为自然对数log10(x) %返回值为常用对数 牛牛文库文档分享16/74例2- 牛牛文库文档分享15/742.2.6 字符串字符串的定义MATLAB将字符串当作一个行向量,每个元素对应一个字符,一个字符占两个字节,并且每一字符(包括空格)以其ASCII码的形式存放,其标识方法和数值向量相同。 牛牛文库文档分享17/742.2 牛牛文库文档分享16/74例2-39 建立任意的两个字符串,并查看字 符串占用的字节信息。s1=China Petroleum Uiversity %赋值方式建立字符串s1s2=Qingdao Sh

8、andong %赋值方式建立字符串s2whos %查看字符串占用的字节信息 牛牛文库文档分享18/74例2- 牛牛文库文档分享17/74常用的字符串函数 length 计算字符串的长度(即组成字符的个数)class 判断某一个变量是否为字符串,返回char则表示为字符串findstr 寻找在某个长字符串中的子字符串,返回其起始位置deblank 删除字符串尾部的空格eval 以表达式方式执行字符串disp 显示字符串的内容 牛牛文库文档分享19/74常用的 牛牛文库文档分享18/74 字符串的连接和替换 strcat(S1,S2,S3,.) 功能:返回S1,S2,S3的连接字符串 常用的字符串

9、的连接和替换函数:strvcat(T1,T2,T3,.) 功能:返回T1,T2,T3,.的垂直连接字符串strmatch(S1,S2) 功能:在逐行搜索字符串s2,给出以s1开头的那些行的行号strrep(S1,S2,S3) 功能:把字符串s1的所有出现s2的地方替换为s3strtok (S) 功能:查找字符串S的第一个间隔符(空格符、指表符、回车符)前的内容 牛牛文库文档分享20/742.2 牛牛文库文档分享19/74例2-40 分析下列语句的执行结果。test=This is a test!;position=findstr(test,is)array=strvcat(maxarray,m

10、in value,max value);result_1=strmatch(max,array)result_2=strrep(test,test,pest)token,remainder=strtok(This is a test!) 牛牛文库文档分享21/74例2- 牛牛文库文档分享20/74字符串比较函数strcmp(S1,S2) 功能:比较字符串是否相等。如果相同则返回1,否则为0。常用的字符串比较函数:strcmpi(S1,S2) 功能:在忽略大小写的情况下,比较字符串是否相等。如果相同则返回1,否则为0。strncmp(S1,S2,N) 功能:比较两个字符串的前n个字符是否相等。如

11、果相同则返回1,否则为0。strncmpi(S1,S2,N) 功能:在忽略大小写的情况下,比较字符串的前n个字符是否相等。如果相同则返回1,否则为0。 牛牛文库文档分享22/742.2 牛牛文库文档分享21/74例2-41 分析下列语句的执行结果。str1=hello;str2=Hello;str3=help;c1=strcmp(str1,str2)c2=strcmpi(str1,str2)c3=strncmp(str1,str3,2)c4=strncmpi(str1,str3,2) 牛牛文库文档分享23/74例2- 牛牛文库文档分享22/74字符串转换函数upper(A) 功能:把字符串A中

12、的任一小写字母转换为相应的大写字母常用的字符串转换函数:lower(A) 功能:把字符串A中的任一大写字母转换为相应的小写字母double(X) 功能:转换字符串X为ASCII码char(X) 功能:将ASCII码X转换为字符串 牛牛文库文档分享24/742.2 牛牛文库文档分享23/74int2str(X) 功能:将整数X转换为字符串num2str(X) 功能:将数值X转换成字符串mat2str(MAT) 功能:将数值矩阵MAT转换为可执行的形式 牛牛文库文档分享25/74int 牛牛文库文档分享24/74例2-42 分析下列语句的功能。x=5317;y=int2str(x)p=num2st

13、r(pi,7)p=num2str(pi,%10.5e)a=1 2 3;4 5 6 ;b=mat2str(a)str=sprintf(The value of pi=%8.6f.,pi) 牛牛文库文档分享26/74例2- 牛牛文库文档分享25/742.2.8 构架数组 构架数组的建立构架数组的基本组成是域,每一个域是用来存放各种不同类型的数据的单元。构架数组的建立也有三种方法:赋值语句、创建函数和转换函数。 牛牛文库文档分享27/742.2 牛牛文库文档分享26/741) 赋值语句例2-50 使用赋值语句依次为各个域赋值的方法建立构架数组,存储两名学生的名字、学号、性别、班级信息。=Wang M

14、ing;s.number=19990101;s.sex=man;s.class=199901; 牛牛文库文档分享28/741) 牛牛文库文档分享27/74如查看构架数组的内容,语句为: s如查看构架数组的某一个域内容,语句为: 牛牛文库文档分享29/74如查看 牛牛文库文档分享28/74 s(2).name=Zhang Le; s(2).number=19990201; s(2).sex=man; 构架数组的第二个元素可以被通过增加下标实现。如查看构架数组的各个域名,语句为: s 牛牛文库文档分享30/74 s 牛牛文库文档分享29/74可通过下面的语句查看s的内容: s(1), s(2) 牛

15、牛文库文档分享31/74可通过 牛牛文库文档分享30/742)创建函数使用struct函数可以建立构架数组,格式为:S = struct (field1,VALUES1,field2,VALUES2,.) 功能:创建构架数组S,其中 field1的值赋为VALUES1, field2的值赋为VALUES2, 牛牛文库文档分享32/742)创 牛牛文库文档分享31/74例 2-51 应用struct函数可以创建例2-50的构架数组。 s=struct(name,Wang Ming,number,19990101, class, 199901,sex,man) 牛牛文库文档分享33/74例 2 牛

16、牛文库文档分享32/74 域的增加和删除1)获取域名 构架数组创建后可通过函数fieldnames获取构架数组的域, 格式为:NAMES = fieldnames(S) 功能:返回构架数组S的域名构成的元胞数组NAMES。 牛牛文库文档分享34/742.2 牛牛文库文档分享33/74例2-53 给出构架数组s的全部域名。NAMES = fieldnames(s) 牛牛文库文档分享35/74例2- 牛牛文库文档分享34/742)增加和删除域构架数组建立后,允许增加和删除域。构架数组的域的删除可通过函数rmfield实现,格式为:S = rmfield (S,field) 功能:从构架数组S中删除

17、域field。 牛牛文库文档分享36/742)增 牛牛文库文档分享35/74例2-54 演示通过赋值语句增加域的方法。在已建立的构架数组s的基础上,增加课程成绩域exams(三门功课),并删除s的域sex。s(2).exams=90 82 88 ; % 增加s的域exams,并通过赋值语句为s(2) 赋值s(1) % 查看s(1,1)的详细信息s(2) % 查看s(1,2)的详细信息s2=rmfield(s,sex) %删除s的域sex 牛牛文库文档分享37/74例2- 牛牛文库文档分享36/74 构架数组元素的引用构架数组的元素的引用可通过指出数组名称、下标、域名直接引用。例 2-55 演示

18、构架数组元素的引用方法。s(1).numbers(2).number %引用number元素s(2).exams%引用exams元素,并求其平均值 牛牛文库文档分享38/742.2 牛牛文库文档分享37/74averge=(s(2).exams(1)+s(2).exams(2)+s(2).exams(3)/3 %求平均值s(2).aver=averge %增加aver域,并赋值为平均值这时s成为1x2 构架数组,并有域name、number、class、exams和aver。 牛牛文库文档分享39/74ave 牛牛文库文档分享38/74 getfield和 setfield函数函数getfie

19、ld 的格式为:F = getfield (S,i,j,field,k)功能:获取构架数组的指定的域的域值。其中S是构架数组名,i,j用来指定元素构架的下标,field是指定的域名,必须是字符串,k用来指定域中数组的下标。 牛牛文库文档分享40/742.2 牛牛文库文档分享39/74函数setfield的格式为:S=setfield(S,field,V) S=SETFIELD(S,i,j,field,k,V)功能:设置构架数组的指定的域的域值,其中S是构架数组名,i,j用来指定构架数组元素的下标,field是指定的域名,必须是字符串,V是设置值。注意:S(i,j).field(k) = V 牛

20、牛文库文档分享41/74函数s 牛牛文库文档分享40/74例2-56 演示函数getfield和 setfield 的使用方法。getfield(s,1,2,exams,2)%获取s的第二个元素域exams 的第2个值S=setfield(s,1,1,exams,1 2 3,88 98 78) % 设置s的第一个元素的域exams 的域值 牛牛文库文档分享42/74例2- 牛牛文库文档分享41/74如果为average设置域值呢?average=(S(1).exams(1)+S(1).exams(2)+S(1).exams(3)/3 %求平均值S=setfield(s,1,1,aver,averge) %设置aver的域值S.aver % 设置后查看aver的域值 牛牛文库文档分享43/74如果为 牛牛文

温馨提示

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

评论

0/150

提交评论