《计算机仿真技术基础2.2matlab运算基础2.ppt》由会员分享,可在线阅读,更多相关《计算机仿真技术基础2.2matlab运算基础2.ppt(46页珍藏版)》请在第壹文秘上搜索。
1、1/74矩阵运算规则是按照矩阵作为运算要素定矩阵运算规则是按照矩阵作为运算要素定义的,义的,数组运算是按照矩阵元素作为运算要素定数组运算是按照矩阵元素作为运算要素定义的。义的。标量运算是矩阵和数组的运算的特例。标量运算是矩阵和数组的运算的特例。2/74 1)矩阵和数组的加减运算矩阵和数组的加减运算l两个矩阵必须同型时才可以进行加减运算。如两个矩阵必须同型时才可以进行加减运算。如有一个是标量,则该标量与矩阵的每个元素进有一个是标量,则该标量与矩阵的每个元素进行加减运算。行加减运算。l数组的加减运算法则与矩阵的加减运算法则相数组的加减运算法则与矩阵的加减运算法则相同。同。3/74方法方法1 1:A
2、=4-3 1;2 0 5;B=1 2 0;-1 0 3;A-2*B方法方法2 2:A=4-3 1;2 0 5;B=1 2 0;-1 0 3;b=uminus(2*B)%,返回,返回2*B的相反数的相反数A+b431,205A120103B4/74矩阵的乘法运算符为矩阵的乘法运算符为*,定义为定义为:设设A=(aij)mA=(aij)ms,B=(bij)ss,B=(bij)sn,n,则则A A与与B B的乘积的乘积C CAB=(cij)mAB=(cij)mn n是是 m mn n矩阵,其中矩阵,其中cij(i=cij(i=1,2,1,2,m;j=1,2,m;j=1,2,n),n)等于等于A A的
3、第的第i i行与行与B B的的第第j j列对应元素的乘积之和。列对应元素的乘积之和。数组的乘法运算符为数组的乘法运算符为.*,两个矩阵必须同型时才可,两个矩阵必须同型时才可以进行数组乘法运算。以进行数组乘法运算。运算规则为:运算规则为:矩阵矩阵A A和和B B中的对应元素相乘。中的对应元素相乘。如果参加运算的矩阵其中有一个是标量时,矩阵和如果参加运算的矩阵其中有一个是标量时,矩阵和数组的乘法运算均为标量与矩阵的每个元素进行数组的乘法运算均为标量与矩阵的每个元素进行乘法运算。乘法运算。5/74A=1 0 3;2 1 0;B=4 1;-1 1;2 0;A*B,B*A6/74A=1-1 2;2 0
4、1;B=2-1 0;1 1 3;4 2 1;(A*B)B*A7/74矩阵除法矩阵除法运算的运算符为运算的运算符为 和和/,分别表示,分别表示左除左除和和右除右除。矩阵除法的矩阵除法的定义为定义为:AB=AAB=A-1-1B B A/B=AA/B=AB B-1-1其中其中A A-1-1和和B B-1-1是矩阵是矩阵A A和和B B的逆,矩阵的逆,矩阵B B的逆也可用的逆也可用函数函数invinv求得。求得。8/74定义为:定义为:设设A=(aA=(aijij)m mn n,B=(b,B=(bijij)m mn n,则数组的右除为则数组的右除为C=(cC=(cijij)m mn n=(a=(aij
5、ij/b/bijij)m mn n,数组的左除为数组的左除为C=(cC=(cijij)m mn n=(b=(bijij/a/aijij)m mn n。9/74A=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)*b1234123412341224224432683341233226xxxxxxxxxxxxxxxx10/74l矩阵乘方矩阵乘方运算的运算符为运算的运算符为,运算表达式为,运算表达式为ABAB,矩阵乘方运算的含义是:,矩阵乘方运算的含义是:ABAB表示方阵表示方阵A A自乘自乘B B次。次。l数组乘
6、方数组乘方运算的运算符为运算的运算符为.,运算表达式为,运算表达式为A.BA.B,其中,其中A A和和B B都可以是矩阵或标量。都可以是矩阵或标量。11/74l当当A A为矩阵为矩阵,B,B为正整数时,则将为正整数时,则将a aijij自乘自乘B B次;次;l当当A A为矩阵为矩阵,B,B也为矩阵时,也为矩阵时,A A和和B B矩阵矩阵必须必须同型同型,则将,则将a aijij自乘自乘b bijij次。次。l当当A A为正整数为正整数,B,B为矩阵时,将为矩阵时,将AbAbijij构成新构成新矩阵的第矩阵的第i i行第行第j j列元素。列元素。其中其中a aijij和和b bijij分别表示矩
7、阵分别表示矩阵A A和和B B的第的第i i行行第第j j列元素。列元素。12/74 常用的数学函数有三角函数、指数函数和整常用的数学函数有三角函数、指数函数和整值函数等。值函数等。需要注意的是需要注意的是:l MATLAB 6.5MATLAB 6.5以前的版本三角函数的自变量和反以前的版本三角函数的自变量和反三角函数的返回值为弧度;三角函数的返回值为弧度;l MATLAB 7.0MATLAB 7.0版本中提供了三角函数的自变量和版本中提供了三角函数的自变量和反三角函数的返回值分别为角度和弧度的两类函反三角函数的返回值分别为角度和弧度的两类函数。数。13/74x=30:30:90;sind(x
8、),cosd(x),tand(x),cotd(x)%三角函数的自变量为角度值三角函数的自变量为角度值14/74x=0.1:0.1:0.6;asin(x),acos(x),atan(x)%返回值为弧度返回值为弧度asind(x),acosd(x),atand(x)%返回值为角度返回值为角度15/74x=1:10;x=1:10;log(x)log(x)%返回值为自然对数返回值为自然对数log10(x)log10(x)%返回值为常用对数返回值为常用对数16/742.2.6.1字符串的定义字符串的定义MATLABMATLAB将字符串当作一个行向量,每个元素将字符串当作一个行向量,每个元素对应一个字符,
9、一个字符占两个字节,并对应一个字符,一个字符占两个字节,并且每一字符且每一字符(包括空格包括空格)以其以其ASCIIASCII码的形码的形式存放,其标识方法和数值向量相同。式存放,其标识方法和数值向量相同。17/74s1=China Petroleum Uiversity%赋值方式建立字符串赋值方式建立字符串s1s2=Qingdao Shandong%赋值方式建立字符串赋值方式建立字符串s2s2whos%查看字符串占用的字节信息查看字符串占用的字节信息18/74llengthlength 计算字符串的长度计算字符串的长度(即组成字符的个数即组成字符的个数)lclassclass 判断某一个变量
10、是否为字符串,返回判断某一个变量是否为字符串,返回charchar则表示为字符串则表示为字符串lfindstrfindstr 寻找在某个长字符串中的子字符串,返回寻找在某个长字符串中的子字符串,返回其起始位置其起始位置ldeblankdeblank 删除字符串尾部的空格删除字符串尾部的空格levaleval 以表达式方式执行字符串以表达式方式执行字符串ldispdisp 显示字符串的内容显示字符串的内容19/74l strcat(S1,S2,S3,.)strcat(S1,S2,S3,.)功能:功能:返回返回S1,S2,S3的连接字符串的连接字符串 常用的字符串的连接和替换函数:常用的字符串的连
11、接和替换函数:lstrvcat(T1,T2,T3,.)strvcat(T1,T2,T3,.)功能:功能:返回返回T1,T2,T3,.的垂直连接字符串的垂直连接字符串lstrmatch(S1,S2)strmatch(S1,S2)功能:功能:在逐行搜索字符串在逐行搜索字符串s2,给出以给出以s1开头的那些行开头的那些行的行号的行号lstrrep(S1,S2,S3)strrep(S1,S2,S3)功能:功能:把字符串把字符串s1的所有出现的所有出现s2的地方替换为的地方替换为s3lstrtok(S)strtok(S)功能:功能:查找字符串查找字符串S的第一个间隔符(空格符、指的第一个间隔符(空格符、
12、指表符、回车符)前的内容表符、回车符)前的内容20/74test=This is a test!;position=findstr(test,is)a r r a y=s t r v c a t(m a x a r r a y ,m i n value,max value);result_1=strmatch(max,array)result_2=strrep(test,test,pest)token,remainder=strtok(This is a test!)21/74lstrcmp(S1,S2)strcmp(S1,S2)功能:功能:比较字符串是否相等。如果相同则返回比较字符串是否相等
13、。如果相同则返回1 1,否则为否则为0 0。常用的字符串比较函数:常用的字符串比较函数:lstrcmpi(S1,S2)strcmpi(S1,S2)功能:功能:在忽略大小写的情况下,比较字符串是否相在忽略大小写的情况下,比较字符串是否相等。如果相同则返回等。如果相同则返回1 1,否则为,否则为0 0。lstrncmp(S1,S2,N)strncmp(S1,S2,N)功能功能:比较两个字符串的前:比较两个字符串的前n n个字符是否相等。如个字符是否相等。如果相同则返回果相同则返回1 1,否则为,否则为0 0。lstrncmpi(S1,S2,N)strncmpi(S1,S2,N)功能功能:在忽略大小
14、写的情况下,比较字符串在忽略大小写的情况下,比较字符串的前的前n n个字符个字符是否相等。是否相等。如果相同则返回如果相同则返回1 1,否则为,否则为0 0。22/74str1=hello;str2=Hello;str3=help;c1=strcmp(str1,str2)c2=strcmpi(str1,str2)c3=strncmp(str1,str3,2)c4=strncmpi(str1,str3,2)23/74lupper(A)upper(A)功能:功能:把字符串把字符串A A中的任一小写字母转换为相应中的任一小写字母转换为相应的大写字母的大写字母常用的字符串转换函数:常用的字符串转换函数
15、:llower(A)lower(A)功能功能:把字符串把字符串A A中的任一大写字母转换为相应中的任一大写字母转换为相应的小写字母的小写字母ldouble(X)double(X)功能功能:转换字符串转换字符串X X为为ASCIIASCII码码lchar(X)char(X)功能功能:将将ASCIIASCII码码X X转换为字符串转换为字符串24/74lint2str(X)int2str(X)功能功能:将整数:将整数X X转换为字符串转换为字符串lnum2str(X)num2str(X)功能:功能:将数值将数值X X转换成字符串转换成字符串lmat2str(MAT)mat2str(MAT)功能:功
16、能:将数值矩阵将数值矩阵MATMAT转换为可执行的形式转换为可执行的形式25/74x=5317;y=int2str(x)p=num2str(pi,7)p=num2str(pi,%10.5e)a=1 2 3;4 5 6;b=mat2str(a)s t r=s p r i n t f(T h e v a l u e o f pi=%8.6f.,pi)26/742.2.8.1 构架数组的建立构架数组的建立l构架数组的基本组成是域,每一个域是用构架数组的基本组成是域,每一个域是用来存放各种不同类型的数据的单元。来存放各种不同类型的数据的单元。l构架数组的建立也有三种方法:构架数组的建立也有三种方法:赋值语句、创建函数和转换函数。赋值语句、创建函数和转换函数。27/74l例例2-502-50 使用赋值语句依次为各个域赋值的使用赋值语句依次为各个域赋值的方法建立构架数组,存储两名学生的名字、方法建立构架数组,存储两名学生的名字、学号、性别、班级信息。学号、性别、班级信息。s.name=Wang Ming;s.number=19990101;s.sex=man;s.class=199901;28/7