MATLAB重点归纳_第1页
MATLAB重点归纳_第2页
MATLAB重点归纳_第3页
MATLAB重点归纳_第4页
MATLAB重点归纳_第5页
免费预览已结束,剩余8页可下载查看

下载本文档

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

文档简介

1、MATLAB重点归纳第1章MATLABR2010a环境1、工作空间窗口、命令窗口、历史命令窗口、开始按钮2、所在行可输入命令;没有3、MATLAB常用标点符号的功能4、cd设置当前目录所在行显示结果(9页)eg:要设置当前目录为“C:MYDIR:cdC:MYDIRsaveFileName变量15、saveFileName1saveFileName2ab变量2参数将变量保存到文件中%将变量保存到FileName1.mat文件中%将变量a,b保存到FileName2.mat文件中saveFileName3abappend6、loadFileName变量1变量2loadFileName1loadFi

2、leName2ab7、who查阅MATLAB内存变量名%将变量a,b添加到FileName3.mat文件中%从数据文件中取出变量存放到工作空间%把FileName1.mat文件中的全部变量装入内存%把FileName2.mat文件中的a,b变量装入内存8、whos查阅MATLAB内存变量变量名、大小、类型和字节数9、clear删除工作空间中的变量10、i=exist(X)查询工作空间中是否存在X变量i=1表示存在一个变量名为X的变量i=2表示存在一个名为X.m的文件i=3表示存在一个名为X.mex的文件i=4表示存在一个名为X.mdl的文件i=5表示存在一个变量名为X的内部函数i=0表示不存在

3、以上变量和文件11、path%列出MATLAB的搜索路径Path(path/C:MYDIR)%在MATLAB的搜索路径的末尾添加新目录C:MYDIR12、what列出当前目录下的M、MAT、MEX文件清单13、dir%列出当前目录下的文件和子目录清单dir目录名列出指定目录下的文件和子目录清单14、type文件名%显示指定M文件的内容Typeabs.m%显示abs.m文件的注释内容15、which%指出M、MAT、MEX文件、工作空间变量、内置函数或Simulink模型所在目录16、matlabroot%返回安装MATLAB的根目录第2章MATLAB数值计算1、各种整数数据类型的范围和类型转换

4、函数表(30页)2、a=5; b=0;%转换成无符号整型 c=67; u1=uint8(a)u1=5s1=char(c)%转换成字符型为字母Csi=Cli=logical(b)%转化成逻辑型为falseli=03、MATLAB中用i,j表示叙述的单位Z=a+b*i或z=r*exp(i*0)a=real(z)%计算实部a=image(z)%计算虚部a=abs(z)%计算幅值4、变量的命名规则:1)变量名区分字母的大小写;2)变量名不能超过63个字符;3)变量名必须以字母开头,组成可以是任意字母、数字或者下划线;4)关键字不能作为变量名5、特殊变量(33页)6、矩阵输入:矩阵元素用括住,行内用逗号

5、或空格隔开,行与行用分号或回车隔开7、通过语句生成矩阵1) from:step:tofrom:toFrom,step,to分别表示开始值、步长和结束值。Step省略时默认为1。当step0而fromx=3:-1:0x=32102) 使用linspace和logspace函数生成向量Linspace是用来生成线性等分向量,直接给出元素的个数从而得出各个元素的值linspace(a,b,n)3个参数分别表示开始值,结束值和元素个数,生成a,b之间线性分布的n个元素的行向量,n如果省略则默认值是100.logspace用来生成对数等分向量logspace(a,b,n)生成从10a到10b之间按对数等

6、分的n个元素的行向量,n如果省略则默认50x1=linspace(0,2*pi,5)x1=01.57083.14164.71246.2832x2=logspace(0,2,3)x2=101003)由函数产生特殊矩阵函数名功能例子输入结果Zeros(m,n)产生m*n的全0矩阵Zeros(2,3)000000Ones(m,n)产生m*n的全1矩阵ones(2,3)111111rand(m,n)产生均匀分布的随机矩阵,rand(2,3)0.81470.12700.6324元素取值范围为0.01.00.90580.91340.0975randn(m,n)产生正态分布的随机矩阵randn(2,3)-0

7、.43363.5784-1.34990.34262.76943.0349Magic(N)产生N阶魔方矩阵(矩阵Magic(3)816的行、列和对角线上的357元素的和相等)492eye(m,n)产生m*n的单位矩阵Eye(3)100010001true(m,n)产生m*n的逻辑矩阵,True(3)111全为ture111false(m,n)产生m*n的逻辑矩阵,111全为false当zeros,ones,rand,randn,eye函数中只有一个参数n时,则为n*n的方阵t=true(3)t=111111111t(1:2,3)=false(2,1)%1,2行的第2列改为false1101101

8、118、矩阵的下标A=1,2;3,4;5,61)全下标方式A(1,2)=2A(1,2)=7A=1,7;3,4;5,62)单下标方式:把矩阵的所有列按照先左后右的次序连接成“一维长列”,然后对元素位置进行编号,m*n矩阵的单下标s=(j-1)/8m+i9、子矩阵块的产生方式1)全下标方式:(以3*3矩阵为例)a(1,3,2,3)表示取行数为1,3,列数为2,3的元素构成子矩阵a(1:3,2:3)取行数13,列数23的元素构成子矩阵a(:;3)取所有的行数,列数为3的元素构成子矩阵a=(1:3,end)表示取行数13,列数为3的元素构成矩阵,end表示某一位数中的最大值,即32)用单下标方式:a(

9、1,3;2,6)表示取单下标为1,3,2,6的元素构成子矩阵3)逻辑矩阵:a(l1,l2)表示子矩阵时,11,12为逻辑向量,11,12的元素为0则不取该位置元素,反之则取该位置元素a=1,2,3;4,5,6;7,8,9; 11=1ogica1(101); 12=1ogica1(110); a(11,12)ans=127810、矩阵的赋值:全下标方式,单下标方式,全元素方式eg:全元素方式:a=12;34;56a=1 23456b=123;456b=1 23456a(:)=b%按单下标方式给a赋值a=1 5432 611、矩阵元素的删除操作:赋值为空矩阵A(:,3)删除1列元素;a(1)=,按

10、单下标方式删除1个元素,则矩阵变为行向量12、生成大矩阵a;a13、矩阵和数组运算a=123;456;789函数名功能det(X)计算方阵行列式rank(X)求矩阵的秩,得出行列式不为0的最大方阵边长inv(X)求矩阵的逆,当方阵X的dit(X)不等于0,逆阵才存在,相乘为单位矩阵diag(X)产生X矩阵的对角阵13、矩阵的翻转(常用矩阵翻转的函数功能)a=120;040;569函数名功能例子输入结果triu(X)产生X矩阵的上三角矩阵,其余元素补0triu(a)120040009tril(X)产生X矩阵的下三角矩阵,其余元素补0tril(a)100040569flipud(X)使矩阵X沿水平

11、轴上下翻转flipud(a)569040120fliplr(X)使矩阵X沿垂直轴左右翻转fliplr(a)02104096515、矩阵和数组的算术运算X=AB表示方程A*X=B的解X=A/B表示方程X*A=B的解数组的乘法为.*除法运算有和./,表示数组相应元素相乘除矩阵乘方AAB,数组乘方A.AB16、矩阵和数组的转置A表示矩阵A的转置,若A为复数矩阵,则为共羯转置A.表示数组A的转置,如果数组A为复数数组,则不是共羯转置17、数组的基本函数函数名含义函数名含义abs绝对值或者复数模Mod模除求余Sqrt平方根exp自然指数Real实部Log自然对数Imag虚部Log10以10为底的对数co

12、nj复数共羯18、矩阵和数组运算的对比表(52页)19、关系操作和逻辑操作1)MATLAB常用的关系操作符有,=,=,=(不等于)如果用来比较的2个变量都是标量,则结果为真(1)或假(0)如果用来比较的都是数组,则大小必须相同,结果也是同样大小的数组,数组的元素为0或1如果用来比较的是1个数组和1个标量,则把数组的每个元素分别于标量比较,结果为同样大小相同的数组,数组的元素为0或1关系操作符,=仅对参加比较的变量的实部进行比较,而,=,=可同时对实部和虚部进行比较2)逻辑运算与&或|非异或xor非0元素表示真(1),0元素表示假(0),逻辑运算的结果为0或1如果用来逻辑运算的2个变量都是标量,

13、则结果为0、1的标量如果用来逻辑运算的2个变量都是数组,则必须大小相同,结果为同样大小相同的数组先决与&,先决或|20、常用的关系逻辑函数(54页)21、在MATLAB中各种运算符的优先级:(矩阵转置)、人(矩阵嘉)和.(数组转置)、a(数组募)(逻辑非)*(乘)、/(左除)、(右除)和.*(点乘)、./(点左除)、.(点右除)+、-(加减):(冒号)、=、=、=&(逻辑与)|(逻辑或)&(先决与)|(先决或)22、矩阵的大小size(a)返回行数或列数的最大值length(p)等价于max(size(p)23、多项式1)多项式p1(x)=x3+21x2+20x可以表示为:p1=121200%

14、常数项为0,按嘉的降序排列。最后一个元素一定是表示常数项如果无常数项,则应该令该元素为02)多项式求值polyval(p,s)p1=121200;polyval(p1,2)x=0:0.5:3;polyval(p1,x)3)多项式求根r=roots(p)P=poly(r)4)特征多项式P=poly(s)计算多项式在给定变量时的值。说明:p为多项式,s为给定矩阵。%计算x=2时多项式的值%计算x为向量时多项式的值p为多项式,r为计算的多项式的根,以列向量形式保存根据多项式的根计算多项式的系数s必须是方阵,p为特征多项式5)部分分式展开r,p,k=residue(b,a)(upjij-residnb

15、.a):相分式表达式进行多项式的部分分式展开.刃5)5-Pls-pje-Pr说明:b和a分别是分子和分母多项式系数行向量1r是匚门年:留数行向量FP为【由比极点行向量;左法直项包瞧口,皿将表达式若片进行部分分式展开一pl=IL21200小p3=X10020CJ程序分析:表达式看言展开结果为芸.胃6)多项式的乘法和除法多项式乘法p=conv(pl,p2),p是多项式pl和p2的乘积多项式。多项式除法,qi=deconv(pl,p2):多项式pl被p2除的商为多项式q,余子式是r7)多项式的微分和积分p=polyder(p1):多项式pl的微分为多项式p。没有专门积分函数,可以用p./length

16、(p):-1:1,k的方法来完成积分,k为常数例:求多项式的微分和积分。p1=121200p4=polyder(p1)%多项式微分s=length(p4):-1:1p1=p4./s,0%多项式积分,常数k=08)多项式的拟合和插值p=polyfit(1,YJnl多际式曲娃拟合是用一个多项式来逼近一组给定的数据,使用nF*P小用函数来实现口拟合的准则是最小二乘法,即找出使工町;-壬II最小的/说明:X、丫向量分别为、个数据点的横、纵坐标1口是用来拟合的多项式阶次fP为拟合的多项式,p为口7个系数构成的行向量。4插值运算:根据数据点的规律,找到一个多项式表达式可以连接两个点,插并得出相邻数据点之间

17、的数值。一维插值yi=interp1(x,y,xi,method):一维插值是指对一个自变量的插值,interp1函数是用来进行一维插值的。说明:x、y为行向量;xi是插值范围内任意点的x坐标,yi则是插值运算后的对应y坐标;method是插值函数的类型,linear”为线性插值(默认),“nearest为用最接近的相邻点插值,Spline”为三次样条插值,Cubic”为三次插值。???24、数据分析1)原则如果输入的是向量,则按整个向量进行运算如果输入的是矩阵,则按列进行运算2)MATLAB数据统计分析函数(75页)注意max(x)和max(x(:)的差别???3)常用的差分和积分函数(76

18、页)4)卷积和快速傅里叶变换conv(x,y)计算向量的卷积(若x是输入信号,y是线性系统的脉冲过渡函数,则X,Y的卷积为系统的输出信号)q,r=deconv(x,y)解卷积运算x=conv(y,q)+rMATLAB软件的序列下标从1开始而不是0X=fft(x,N)对离散序列进行离散傅里叶变换X=ifft(x,N)对离散序列进行离散傅里叶逆变换x可以是向量,矩阵,多维数组,N为输入变量x的序列长度,可省略。如果x的长度小于N,则会自动补零;如果x的长度大于N,则会自动截断;当N取2的整数嘉时,傅立叶变换的计算速度最快。一般情况下,fft求出的函数为复数,可用abs及angle分别求其幅值和相位

19、。第3章MATLAB符号计算1、创建符号常量sym(常量)sym(常量,参数)%把常量按某种格式转换为符号常量参数可选为d(十进制)、f(浮点)、e(带有机器浮点误差的有理值)或r(最接近的有理数值)四种格式,也可省略(默认为r)。2、MATLAB的数学计算:包括数值计算和符号计算数值计算:不允许使用未赋值的变量符号计算:可以使用未赋值的符号变量进行运算3、创建数值常量和符号常量a=sym(sin(2)a=sin(2)a1=2*sqrt(5)+pia1=7.6137a2=sym(2*sqrt(5)+pi)a2=2*sqrt(5)+pia4=sym(2*sqrt(5)+pi,d)%创建符号常量,

20、注意和a=sin(2)的区别%创建数值常量%创建符号常量%按最接近的十进制浮点数表示符号常量4、5、6、a5=2*sqrt(5)+pi%字符串常量,注意和第3条命令的执行结果比较a5=2*sqrt(5)+pi创建符号变量sym(变量,参数)参数用来限定符号变量的数学特性positive表示为正、实符号变量,%把变量定义位符号对象real为实符号变量,unreal为非实符号变量创建符号表达式sym(表达式)创建多个符号变量和符号表达式a4=7.61372860858937272610091895330707、A=sym(a,b;c,d)symsabcdSyms(arg1,arg2,参数)Syms

21、arg2arg2,参数创建符号矩阵A=a,b;c,da,ba,bc,dc,d8、符号表达式的代数运算1)算术和关系运算符(1)算术运算符牛,*,:r,用分别实现符号矩阵的运算。)工叭”分别实现符号数组的运算。”分别实现符号矩阵的共羯转置、非共羯转置(2)关系运算符在符号对象的比较中,没有大于”、失于等于“、小于、小于等于”的概念,而只有是否等于的概念(=”),为真时,用1表示;为假时,用0表示2)、函数运算(1)三角(反三角)函数和双曲函数sin、cos、tanasin、acos、atansinh、cosh、tanh(2)指数和对数函数sqrt、exp、expm自然对数10g(表示ln),无1

22、0g2和log10(3)复数函数conj、real、imag、abs无angle函数(4)矩阵代数命令diag,triu,tril,inv,det,rank,poly,eig9、符号表达式中自由变量的确定(重要)1)小写字母i,j不能作为自由变量2)符号表达式中如果有多个符号变量,则按照:首先选择x作为自由变量;如果没有x则选择在字母顺序中最接近x的字符变量;如果与x相等距离,则在x后面的优先3)大写字母比所有小写字母都靠后10、确定自由符号变量:symvar(EXPR)自动确定符号表达式中的自由符号变量findsym(EXPR.n)EXPR可以是符号表达式或符号矩阵;n为按顺序得出符号变量的

23、个数。当n省略时,则不按顺序得出EXPR中所有的符号变量。f=sym(5*vAu-3*w+Y+z)findsym(f)%得出所有的符号变量,不按次序ans=Y,u,v,w,zfindsym(f,5)%得出所有的符号变量,不按次序ans=w,z,v,u,Y11、符号表达式的化简(91页)1)多项式形式2)因式形式3)嵌套形式多项式化简函数表pretty、collect、expand、horner、factor函数名变换前变换后备注prettyxA3-6*xA2+11*x*-632x-6x+11x-6给出排版形式的输出结果collect(x-1)*(x-2)*(x-3)xA3-6*xA2+11*x

24、*-6表示为合并同类项多项式,当有多个符号变量,可指定按某个符号变量来合并,否则按默认的自由变量进行expand(x-1)*(x-2)*(x-3)xA3-6*xA2+11*x*-6表示为多项式形式,多项式展开形式hornerxA3-6*xA2+11*x*-6x*(11*y+x*(x-6)-6表示为嵌套形式factorxA3-6*xA2+11*x*-6(x-3)*(x-1)*(x-2)表示为因式连乘的形式collect(f1,y)按y变量来变换simplify函数:化简函数,对三角函数、对数函数、募函数等特别有效y=sym(cos(x)A2-sin(x)A2)y=cos(x)A2-sin(x)A

25、2simplify(y)ans=cos(2*x)simple函数:寻求包含最少数目字符的表达式简化形式12、符号极限函数格式1说明对K密褛威的极限limf(x)卡支T&Imit二工,所对工参演说壬第的极限当左右极限不相等时极限不存在,QEmf(xp工广knit:二k.2.le:tv对K求蒸窗Q于工的极限lim.工T广Imit:.x,rtahf*1r-?11对期趋近于彘的极限F记住每一个函数表示什么f=sym(1/x)f=1/xlimit(f)ans=NaN%当左右极限不相等时,表达式的极限不存在,为NaNlimit(f,x,0,left)ans=-Inf用极限方法也可以求函数的倒数13、符号微

26、分diff(f)%求f对默认自由变量的一阶微分diff(f,t)%求对指定符号变量t的一阶微分diff(f,n)%求f对默认自由变量的n阶微分diff(f,t,n)%求对指定符号变量t的n阶微分eg:f=sym(a*xA2+b*x+c)f=a*xA2+b*x+cdiff(f)%对默认自由变量x求一阶微分ans=b+2*a*xdiff(f,a)%对符号变量a求一阶微分ans=xA2diff(f,x,2)%对符号变量x求二阶微分ans=2*adiff(f,3)%对默认自由变量x求三阶微分ans=0diff用于符号矩阵时,其结果是对矩阵的每一个元素进行微分计算eg:symstxyg=2*ytA2;t

27、*sin(y)exp(x)%创建符号矩阵diff(g)%对默认自由变量求一阶微分diff(g,t)%对符号变量t求一阶微分diff(g,y)diff(g,2)%对默认自由变量求二阶微分可以使用diff计算向量间元素的差值eg:x1=0:0,5:2;y1=sin(x1)y1=00.47940.84150.99750.9093diff(y1)ans=0.47940.36200.1560-0.0882计算出的差值比原来的向量少一列14、符号积分int(f,t)%求符号变量t的不定积分int(f,t,a,b)%求符号变量t的积分int(f,t,m,n)%求符号变量t的积分说明:t为符号变量,当t省略则

28、为默认自由变量;a和b为数值,a,b为积分区间;m和n为符号对象,?&m,n为积分区间;与符号微分相比,符号积分复杂得多。因为函数的积分有时可能不存在,即使存在,也可能限于很多条件,MATLAB无法顺利得出。当MATLAB不能找到积分时,将给出警告提示。15、符号方程的求解1)代数方程solve(eq,v)%求方程关于指定变量的解solve(eq1,eq2,v1,v2,)求方程组关于指定变量的解说明:eq可以是含等号的符号表达式的方程,也可以是不含等号的符号表达式,但所指的仍是令eq=0的方程;当参数v省略时,为方程中默认的自由变量;其输出结果为结构数组类型。f1=sym(a*xA2+b*x+

29、c)%无等号f1=a*xA2+b*x+csolve(f1)ans=-(b+(bA2-4*a*c)A(1/2)/(2*a)-(b-(bA2-4*a*c)A(1/2)/(2*a)f2=sym(sin(x),)f2=sin(x)solve(f2,x)ans=0%当sinx=0有多个解时,只能得出0附近的有限几个解2-x2x1=0计算三元非线性方程组eq1=sym(xA2+2*x+1);eq2=sym(x+3*z=4);eq3=sym(y*z=-1);x,y,z=solve(xA2+2*x+1,x+3*z=4,y*z=-1)%注意与用矩阵除求解方程组的区别x=-1y=-3/5z=5/3输出结果为“结构

30、对象”,如果最后一句为S=solve(eq1,eq2,eq3)则输出结果为S=x:1x1symy:1x1symz:1x1sym?第4章MATLAB可视化和GUI设计1、基本绘图命令plot(x)绘制以x为纵坐标的二维曲线plot(x,y)绘制以x为横坐标,y为纵坐标的二维曲线plot(x,v)%绘制以x为横坐标,V为纵坐标的二维曲线说明:、和可以是向量(行向量或列向量)或矩阵.其中,X,V都是向量的最常用。如果x和v都是向量.则X4的长度应该相同。如果x为复向量,则以实部为横坐标.虚部为纵坐标做图。 pkrt(x1,y1,咽沱)%绘制多条曲线 plot(xMs)%在3。耳乂下)基础上增加“曲线的线型、颜色和数据点形的设定”(p123页表4.2)说明:5为类型说明

温馨提示

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

评论

0/150

提交评论