ZHUJunCollegeofPhysicsScience&TechnologyYANGZHOUUNIVERSITYCHINA第2章MATLAB语言基础ZHUJunCollegeofPhysicsScience&TechnologyYANGZHOUUNIVERSITYCHINAMATLAB特殊常量i或j:虚数单位,定义为i2=j2=−1Inf或inf:正无穷大,由零做除数引入此常量NaN:不定式,NotaNumber,表示非数值量,产生于0/0,∞/∞,0*∞等运算pi:圆周率π的双精度表示eps:容差变量,当某量的绝对值小于eps时,可认为此量为零,即为浮点数的最小分辨率,PC上此值为2-52Realmin或realmin:最小浮点数,2-1022Realmax或realmax:最大浮点数,21023ZHUJunCollegeofPhysicsScience&TechnologyYANGZHOUUNIVERSITYCHINAMATLAB中变量名的命名规则:(1)变量名必须以字母开头,且只能由字母、数字或者下画线3类符号组成,不能含有空格和标点符号等。(2)变量名区分字母的大小写。例如,“a”和“A”是不同的变量。(3)变量名不能超过63个字符,第63个字符后的字符被忽略。(4)关键字(如if、while等)不能作为变量名。(5)最好不要用特殊常量符号作变量名。常见的错误命名如f(x),y',y'',A2等。ZHUJunCollegeofPhysicsScience&TechnologyYANGZHOUUNIVERSITYCHINA优先次序运算符最高'(转置共轭)、^(矩阵乘幂)、.'(转置)、.^(数组乘幂)~(逻辑非)*、/(右除)、\(左除)、.*(数组乘)、./(数组右除)、.\(数组左除)+、-:(冒号运算)、=、、=、==(恒等于)、~=(不等于)&(逻辑与)|(逻辑或)&&(先决与)最低||(先决或)运算符的优先级ZHUJunCollegeofPhysicsScience&TechnologyYANGZHOUUNIVERSITYCHINA冒号表达式法a1:step:an线性等分:linspace(a1,an,n)对数等分:logspace(a1,an,n)ZHUJunCollegeofPhysicsScience&TechnologyYANGZHOUUNIVERSITYCHINA向量的加减和数乘运算维数相同的行向量之间可以相加减,维数相同的列向量也可相加减,标量数值可以与向量直接相加减、乘除点积运算:dot(A,B)cross(A,B)ZHUJunCollegeofPhysicsScience&TechnologyYANGZHOUUNIVERSITYCHINA矩阵元素的存储次序次序元素次序元素次序元素次序元素1B(1,1)4B(1,2)7B(1,3)10B(1,4)2B(2,1)5B(2,2)8B(2,3)11B(2,4)3B(3,1)6B(3,2)9B(3,3)12B(3,4)ZHUJunCollegeofPhysicsScience&TechnologyYANGZHOUUNIVERSITYCHINA矩阵元素的表示:1.元素的下标表示法:(1)全下标方式:A(i,j)(2)单下标方式:A(s)ZHUJunCollegeofPhysicsScience&TechnologyYANGZHOUUNIVERSITYCHINA矩阵元素的赋值(1)全下标方式:(2)单下标方式:(3)全元素方式:B=[11,1213;14:16;17:2:22;linspace(1,9,3)]矩阵元素的删除:[]A(2,:)=[]A(1:2)=[]ZHUJunCollegeofPhysicsScience&TechnologyYANGZHOUUNIVERSITYCHINA矩阵的创建MATLAB中,矩阵与其他量区别:矩阵的所有元素必须放在方括号[]内;每行的元素之间需用逗号或空格隔开;矩阵的行与行之间用分号或回车符分隔;元素可以是数值或表达式。ZHUJunCollegeofPhysicsScience&TechnologyYANGZHOUUNIVERSITYCHINA1.直接输入法A=[123;456];B=[2,3,4;7,8,9;12,2*6+1,14];2.抽取法:从大矩阵中抽取出需要的小矩阵(或子矩阵)。B=A(1:3,2:3)C=A([13],[24])D=A([4:6;357;12:14])3.拼接法:小矩阵拼成大矩阵,注意行列匹配。E=[AB;BA]4.函数法:zeros(m,n),ones(m,n),rand(m,n),randn(m,n),eye(m,n)ZHUJunCollegeofPhysicsScience&TechnologyYANGZHOUUNIVERSITYCHINA5.拼接函数和变形函数法cat(n,A1,A2,A3,…),n=1时,表示沿行方向拼接;n=2,表示沿列方向拼接。repmat(A,m,n…),m和n分别是沿行和列方向重复拼接矩阵A的次数。reshape(A,m,n…),m和n分别是变形后新矩阵的行列数。6.加载法:save,loadsam2-23a67.M文件法ZHUJunCollegeofPhysicsScience&TechnologyYANGZHOUUNIVERSITYCHINA2.3.4矩阵的代数运算1.求矩阵行列式的值:det(A)2.矩阵加减、数乘(.*)与乘法(*,内阶相等)3.求矩阵的逆矩阵V=inv(A)4.矩阵的除法(左除):求解线性方程组D*X=B(其中X为未知矩阵,X与B都是列矩阵)X=D\B5.矩阵转置:共轭转置',非共轭转置transpose()6.其它运算:^,sqrtm,logm,expm7.矩阵的提取与翻转:triu(A),tril(A),diag(A),flipud(A),fliplr(A),flipdim(A,dim),rot90(A)ZHUJunCollegeofPhysicsScience&TechnologyYANGZHOUUNIVERSITYCHINA数组运算一维、二维数组的创建数组运算:对应下标元素一对一的运算。运算符:.*./.^.'sqrt()exp()log()log10()sin()asin()关系与逻辑运算符,isnan(A),isinf(A)ZHUJunCollegeofPhysicsScience&TechnologyYANGZHOUUNIVERSITYCHINA字符串运算1.赋值:S1='gohome'Sa=['Ilovemyteacher,''I','lovetruths.']2.abs()double()char()disp()length()size()length()=max(size())ZHUJunCollegeofPhysicsScience&TechnologyYANGZHOUUNIVERSITYCHINAcat(n,A1,A2,A3,…)flipdim(A,n)all(A,n):any(A,n):ZHUJunCollegeofPhysicsScience&TechnologyYANGZHOUUNIVERSITYCHINAMATLAB特殊常量i或j,pi,Inf或inf,NaN,epsMATLAB中变量名的命名规则向量与矩阵的赋值,矩阵元素表示法:A(i,j)和A(s)冒号运算符,linspace(a1,1n,n),logspace(a1,an,n),length(),size(),zeros(m,n),ones(m,n),eye(m,n),rand(m,n),randn(m,n),eye(m,n),cat(n,A1,A2,A3,…),repmat(A,m,n…),reshape(A,m,n…),triu(A),tril(A),diag(A),flipud(A),fliplr(A),flipdim(A,dim),rot90(A)运算:.*./.^.'sqrt()exp()log()log10()sin()asin()*\(线性方程组的解)^'sqrtm()expm()logm()