matlab基本语法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

MATLAB简介MATLAB(MATrixLABoratory,即矩阵实验室)是MathWork公司推出的一套高效率的数值计算和可视化软件。MATLAB是当今科学界最具影响力、也是最具活力的软件,它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。MATLAB语言之所以如此受人推崇是因为它有如下这些优点:1.编程简单使用方便MATLAB的基本数据单元是既不需要指定维数、也不需要说明数据类型的矩阵,而且数学表达式和运算规则与通常的习惯相同。因此,在MATLAB环境下,数组的操作与数的操作一样简单。MATLAB的矩阵和向量操作功能是其他语言无法比拟的。2.函数库可任意扩充由于MATLAB语言库函数与用户文件的形式相同,所以用户文件可以像库函数一样随意调用。所以用户可根据自己的需要任意扩充函数库。3.语言简单内涵丰富MATLAB语言中最重要的成分是函数,其一般形式为:Function[a,b,c…]=fun(d,e,f…)其中,fun是自定义的函数名,只要不与库函数名相重,并且符合字符串的书写规则即可。这里的函数既可以是数学上的函数,也可以是程序块或子程序,内涵十分丰富。每个函数建立一个同名的M文件,如上述函数的文件名为fun.m。这种文件简单、短小、高效,并且便于调试。4.简便的绘图功能MATLAB具有二维和三维绘图功能,使用方法十分简便。而且用户可以根据需要在坐标图上加标题。坐标轴标记。文本注释及栅格等,也可一指定图线形式(如实线、虚线等)和颜色,也可以在同一张图上画不同函数的曲线,对于曲面图还可以画出等高线。5.丰富的工具箱由于MATLAB的开放性,许多领域的专家都为MATLAB编写了各种程序工具箱。这些工具箱提供了用户在特别应用领域所需的许多函数,这使得用户不必花大量的时间编写程序就可以直接调用这些函数,达到事半功倍的效果。第二章基本语法2.1变量及其赋值1.标识符与数2.矩阵及其元素的赋值变量=表达式(数)a=[123;456;789]x=[-1.3sqrt(3)(1+2+3)/5*4]x(5)=abs(x(1))a(4,3)=6.5a(5,:)=[5,4,3]b=a([2,4],[1,3])a([2,4,5],:)=[]a/7元素之间用逗号、空格分开。不同行以分号隔开。语句结尾用回车或逗号,会显示结果,如果不想显示结果,用分号。元素用()中的数字(下标)来注明,一维用一个下标,二维用两个下标,逗号分开。如果赋值元素的下标超过原来矩阵的大小,矩阵的行列会自动扩展。全行赋值,用冒号。提取交点元素;抽取某行元素用空矩阵。3.复数c=3+5.2iz=[1+2i,3+4i;5+6i,7+8i]z=[1,3;5,7]+[2,4;6,8]*if=sqrt(1+2i)f*fw=z’(共轭转置)u=conj(z)(共轭)v=conj(z)’(转置)复数的虚数部分用I或j表示,如曾用过i,j作变量,用cleari,j复数矩阵有两种赋值方法:①将其元素逐个赋予复数;②将其实部和虚部矩阵分别赋值。Z’复数矩阵共轭转置:行列互换,各元素的虚部反号。函数conj(z)共轭:只把各元素的虚部反号。转置conj(z)’:行列互换。4.变量检查whowhosinfNaN检查工作空间中的变量;变量的详细特征无穷大1/0;非数(NotaNumber)0/0inf/inf0*inf。系统部停止运算,结果仍为inf或NaN。5.基本赋值矩阵f1=ones(3,2)f2=zeros(2,3)f3=magic(3)f4=eye(2)f5=linspace(0,1,5)fb1=[f1,f3;f4,f2]fb2=[fb1;f5]全1矩阵全0矩阵魔方矩阵:元素由1到nn的自然数组成,每行、每列及两对角线上的元素之和均等于(n3+n)/2。单位矩阵是n×n阶的方阵。对角线上元素为1。线性分割函数大矩阵可由小矩阵组成,其行列数必须正确,恰好填满全部元素。2.2矩阵的初等运算1.矩阵的加减乘法i.加、减法:相加减的两矩阵阶数必须相同,对应元素相加减。[n,m]=size(fb2)语句size检查矩阵阶数,两矩阵相加,阶数必须相同。x=[-101];y=x-1两相加减的矩阵中有一个是标量时,MATLAB将标量扩展成同等元素矩阵,与另一矩阵相加减。ii.矩阵乘法n×p阶矩阵A与p×m阶矩阵B的乘积C是n×m阶矩阵。P是A阵的列数,B阵的行数,称为两个相乘矩阵的内阶数。两矩阵相乘的必要条件是内阶数相等。C(i,j)=ΣkA(i,k)·B(k,j)值为A阵第i行和B阵第j列对应元素乘积的和。pi*xx*y’y’*xeye(3)*aa*eye(3)a=[123;3-54;789]x=[x1,x2,x3]b=[2;0;2]ax'=bx=a\b标量与矩阵相乘,不检查阶数,标量乘以矩阵的每一个元素。X与y内阶数不同,将y转置y’。读作x左乘y’。X右乘y’。左、右乘结果不同,只有单位矩阵例外。单位矩阵乘以矩阵A,左、右乘结果仍等于该矩阵。方程组x1+2x2+3x3=2可以表示为ax’=b3x1-5x2+4x3=07x1+8x2+9x3=22.矩阵的除法及线性方程组的解AV=IV=A-1V=inv(a)inv(a)*aD*X=Binv(D)*D*X=inv(D)*Binv(D)*D=II*X=XX=inv(D)*B=D\BX=D\BX*D=BX=B*inv(D)=B/Da=[123;456]b=[240;135]d=[147;852;360]a*ba'*ba*b'd\ad\a'a/dA=[634;-257;8-4-3]B=[3;-4;-7]X=A\Bn×n阶方阵A和同阶的方阵V相乘,得出n阶单位矩阵I。I为eye(n)。V是A的逆阵。V存在条件:A的行列式不等于0,det(A)≠0V=A-1MATLAB内部函数inv,得出A的逆阵V。D与B行数相等两端同时左乘以inv(D)逆阵单位阵D\B为D左除B,左除时阶数检查条件:两矩阵的行数必须相等。未知矩阵在左D的逆阵右乘以B,记作/D右除。右除时阶数检查条件:两矩阵的列数必须相等。解线性方程组Ax=B6x1+3x2+4x3=3-2x1+5x2+7x3=-48x1-4x2-3x3=-73.矩阵的乘方和幂次函数MATLAB的运算符*、/、\、和^,指数函数expm、对数函数logm和开方函数sqrtm是对矩阵进行的,即把矩阵作为一个整体来运算。除此以外,其他MATLAB函数都是对矩阵中的元素分别进行,英文直译为数组运算(ArrayOperations),译为“元素群运算”S=[12;34]D=[147;852;360]D^22.^DD^SU1=sqrtm(S)U2=sqrt(S)V1=expm(S)V2=exp(S)logm(D)log(D)幂次运算:矩阵为底数,指数是标量,同矩阵乘法一样,为保内阶数相同,底数的矩阵必须是方阵。矩阵是指数,底数是标量,矩阵也必须是方阵。底数和指数不能同时为矩阵。按矩阵运算,等于D*D按元素群运算非法运算按矩阵运算,求平方根,可以用U1*U1=S按元素群运算,U2*U2≠S,U2.×U2=S按矩阵运算按元素群运算按矩阵运算按元素群运算4.矩阵结构形式的提取与变换A=[8160;3571;4922]B1=fliplr(A)B2=flipud(A)B3=reshape(A,2,6)B4=rot90(A)B5=diag(A)B6=tril(A)B7=triu(A)B8=A(:)'提取矩阵中某些特殊结构的元素,组成新的矩阵,改变矩阵结构。fliplr矩阵左右翻转flipud矩阵上下翻转reshape阶数重组(元素总数不变)rot90矩阵整体反时针旋转90度diag提取或建立对角阵tril取矩阵的左下三角部分triu取矩阵的右上三角部分将元素按列取出排成一列2.3元素群运算1.数组及其赋值数组是单行或单列的矩阵,一个N阶的数组可以表述为一个N组向量。t=[0:0.02:1]z=10:-3:-5k=1:6theta=linspace(0,2*pi,9)w=logspace(0,1,11)(1)用两个冒号组成等增量语句格式:t=[初值:增量:终值]增量也可以设为负值,此时初值要比终值大增量为1时,增量值可以省略。(2)用linspace函数格式:linspace(初值、终值、点数)logspace函数,自变量按等比级数赋值。从10的0次幂到1次幂之间按幂等分为11点(数是等比的)2.元素群的四则运算和幂次运算元素群的运算是矩阵中所有元素按单个元素运算。运算符前加.号,表示元素群运算。元素群的运算的两个矩阵必须是同阶的。(标量会自动扩展为同阶矩阵参与运算)x=[1,2,3]y=[4,5,6]z=x.*yz=x.\yx*y不能成立元素群没有左除右除之分z=x.^yz=x.^2z=2.^[xy]d=[147;852;360]dd^3d.^33.^d3^dx^y能成立吗?x^2能成立吗?2^[xy]能成立吗?元素群的幂次运算是各个元素自行作幂次运算,对每个元素的这种运算和对标量运算一样。但是,不能将元素群运算称为数组运算。区别以下运算输入算式dd^3d.^3输出结果14785236062763651080495751648661244116434351212582721603.^d3812187656124392772913^d1.0e+005*2.6388-0.0000i3.0233+0.0000i1.9754+0.0000i3.4735-0.0000i3.9797+0.0000i2.6003+0.0000i2.3170-0.0000i2.6546+0.0000i1.7345+0.0000i3.元素群的函数除矩阵运算的乘、右除、左除、幂指数(×/\^)、sqrtm、expm、logm函数外,基本函数库中的常用函数都可用于元素群运算。自变量可以是任意阶的矩阵。基本函数库(elfun)三角函数sin正弦acot反余切atanh反双曲正切tan正切csch双曲余割sec正割acos反余弦asech反双曲正割cot余切atan2(x,y)4象限反正切acoth反双曲正切acsc余割cosh双曲余弦cos余弦sech双曲正割acosh反双曲余弦asin反正弦coth双曲余切asinh反双曲正弦atan反正切acsch反双曲余割csc余割sinh双曲正弦asec反正割tanh双曲正切指数函数exp以e为底的指数pow22的幂log自然对数log2以2为底的指数nextpow2比输入数大而最近的2的幂log10以10为底对数sqrt方根复数abs绝对值和复数模值unwrap去掉相角突变isreal是实数时为真real实部angle相角cplxpair按复数共轭对排序元素群conj共扼复数imag虚部取整函数round四舍五入为整数ceil向∞舍入为整数rem(a,b)a整除b,求余数floor向-∞舍入为整数sign符号函数fix向0舍入为整数mod(x,m)X整除m取正余数x=[0:0.1:pi/4]'x=[0:0.1:pi/4]'[x,sin(x)cos(x)tan(x)]disp('显示xsin(x)cos(x)tan(x)')disp([x,sin(x)cos(x)tan(x)])例:从列一个三角函数表看元素群运算的优越性。x赋值,转置为一个列向量。sin(x)cos(x)tan(x)都是对x有效,得出与x同阶的列向量。显示语句,括号内引号中的内容直接显示,空格、汉字都能显示。方括号内是变量名组成的矩阵,就显示该矩阵中个变量的值。2.4逻辑判断及流程控制1.关系运算a=2+2==4a=(2+2==4)a=(34)a=(43)a=(3=4)a=(4=3)a=(43)a=(34)a=(4=3)a=(3=4)a=(3~=4)A=magic(6)rem(A,3)p=(rem(A,3)==0)lp=find(p)'

1 / 33
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功