zoukankan      html  css  js  c++  java
  • MATLAB命令大全和矩阵操作大全

    转载自:

    http://blog.csdn.net/dengjianqiang2011/article/details/8753807

    MATLAB矩阵操作大全

    一、矩阵的表示
    在MATLAB中创建矩阵有以下规则:

    a、矩阵元素必须在”[ ]”内;

    b、矩阵的同行元素之间用空格(或”,”)隔开;

    c、矩阵的行与行之间用”;”(或回车符)隔开;

    d、矩阵的元素可以是数值、变量、表达式或函数;

    e、矩阵的尺寸不必预先定义。

    二,矩阵的创建:

    1、直接输入法

    最简单的建立矩阵的方法是从键盘直接输入矩阵的元素,输入的方法按照上面的规则。建立向量的时候可以利用冒号表达式,冒号表达式可以产生一个行向量,一般格式是: e1:e2:e3,其中e1为初始值,e2为步长,e3为终止值。还可以用linspace函数产生行向量,其调用格式为:linspace(a,b,n) ,其中a和b是生成向量的第一个和最后一个元素,n是元素总数。

    2、利用MATLAB函数创建矩阵

    基本矩阵函数如下:

    (1) ones()函数:产生全为1的矩阵,ones(n):产生n*n维的全1矩阵,ones(m,n):产生m*n维的全1矩阵;

    (2) zeros()函数:产生全为0的矩阵;

    (3) rand()函数:产生在(0,1)区间均匀分布的随机阵;

    (4) eye()函数:产生单位阵;

    (5) randn()函数:产生均值为0,方差为1的标准正态分布随机矩阵。

    3、利用文件建立矩阵

    当矩阵尺寸较大或为经常使用的数据矩阵,则可以将此矩阵保存为文件,在需要时直接将文件利用load命令调入工作环境中使用即可。同时可以利用命令reshape对调入的矩阵进行重排。reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵A重新排成m*n的二维矩阵。

    二、矩阵的简单操作
    1.获取矩阵元素

    可以通过下标(行列索引)引用矩阵的元素,如 Matrix(m,n)。

    也可以采用矩阵元素的序号来引用矩阵元素。

    矩阵元素的序号就是相应元素在内存中的排列顺序。

    在MATLAB中,矩阵元素按列存储。

    序号(Index)与下标(Subscript )是一一对应的,以m*n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。

    其相互转换关系也可利用sub2ind和ind2sub函数求得。

    2.矩阵拆分

    利用冒号表达式获得子矩阵:

    (1) A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。

    (2) A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。此外,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。

    利用空矩阵删除矩阵的元素:

    在MATLAB中,定义[]为空矩阵。给变量X赋空矩阵的语句为X=[]。注意,X=[]与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为0。

    3、特殊矩阵

    (1) 魔方矩阵魔方矩阵有一个有趣的性质,其每行、每列及两条对角线上的元素和都相等。对于n阶魔方阵,其元素由1,2,3,…,n2共n2个整数组成。MATLAB提供了求魔方矩阵的函数magic(n),其功能是生成一个n阶魔方阵。

    (2) 范得蒙矩阵范得蒙(Vandermonde)矩阵最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。可以用一个指定向量生成一个范得蒙矩阵。在MATLAB中,函数vander(V)生成以向量V为基础向量的范得蒙矩阵。

    (3) 希尔伯特矩阵在MATLAB中,生成希尔伯特矩阵的函数是hilb(n)。使用一般方法求逆会因为原始数据的微小扰动而产生不可靠的计算结果。MATLAB中,有一个专门求希尔伯特矩阵的逆的函数invhilb(n),其功能是求n阶的希尔伯特矩阵的逆矩阵。

    (4) 托普利兹矩阵托普利兹(Toeplitz)矩阵除第一行第一列外,其他每个元素都与左上角的元素相同。生成托普利兹矩阵的函数是toeplitz(x,y),它生成一个以x为第一列,y为第一行的托普利兹矩阵。这里x, y均为向量,两者不必等长。toeplitz(x)用向量x生成一个对称的托普利兹矩阵。

    (5) 伴随矩阵 MATLAB生成伴随矩阵的函数是compan(p),其中p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。

    (6) 帕斯卡矩阵我们知道,二次项(x+y)n展开后的系数随n的增大组成一个三角形表,称为杨辉三角形。由杨辉三角形表组成的矩阵称为帕斯卡(Pascal)矩阵。函数pascal(n)生成一个n阶帕斯卡矩阵。

    三、矩阵的运算

    1、算术运算

    MATLAB的基本算术运算有:+(加)、-(减)、*(乘)、/(右除)、(左除)、^(乘方)、’(转置)。运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。

    (1) 矩阵加减运算假定有两个矩阵A和B,则可以由A+B和A-B实现矩阵的加减运算。运算规则是:若A和B矩阵的维数相同,则可以执行矩阵的加减运算,A和B矩阵的相应元素相加减。如果A与B的维数不相同,则MATLAB将给出错误信息,提示用户两个矩阵的维数不匹配。

    (2) 矩阵乘法 假定有两个矩阵A和B,若A为m*n矩阵,B为n*p矩阵,则C=A*B为m*p矩阵。

    (3) 矩阵除法在MATLAB中,有两种矩阵除法运算:和/,分别表示左除和右除。如果A矩阵是非奇异方阵,则AB和B/A运算可以实现。AB等效于A的逆左乘B矩阵,也就是inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A)。对于含有标量的运算,两种除法运算的结果相同。对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系,一般AB≠B/A。

    (4) 矩阵的乘方 一个矩阵的乘方运算可以表示成A^x,要求A为方阵,x为标量。

    (5) 矩阵的转置 对实数矩阵进行行列互换,对复数矩阵,共轭转置,特殊的,操作符.’共轭不转置(见点运算);

    (6) 点运算在MATLAB中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算。点运算符有.*、./、.和.^。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。

    2、关系运算

    MATLAB提供了6种关系运算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)。关系运算符的运算法则为:

    (1) 当两个比较量是标量时,直接比较两数的大小。若关系成立,关系表达式结果为1,否则为0;

    (2) 当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成;

    (3) 当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。

    3、逻辑运算

    MATLAB提供了3种逻辑运算符:&(与)、|(或)和~(非)。 逻辑运算的运算法则为:

    (1) 在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示;

    (2) 设参与逻辑运算的是两个标量a和b,那么,a&b a,b全为非零时,运算结果为1,否则为0。 a|b a,b中只要有一个非零,运算结果为1。~a 当a是零时,运算结果为1;当a非零时,运算结果为0。

    (3) 若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进行。最终运算结果是一个与原矩阵同维的矩阵,其元素由1或0组成;

    (4) 若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行。最终运算结果是一个与矩阵同维的矩阵,其元素由1或0组成;

    (5) 逻辑非是单目运算符,也服从矩阵运算规则;

    (6) 在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。

    四、矩阵分析

    1、对角阵

    (1) 对角阵只有对角线上有非0元素的矩阵称为对角矩阵,对角线上的元素相等的对角矩阵称为数量矩阵,对角线上的元素都为1的对角矩阵称为单位矩阵。

    (1) 提取矩阵的对角线元素设A为m*n矩阵,diag(A)函数用于提取矩阵A主对角线元素,产生一个具有min(m,n)个元素的列向量。diag(A)函数还有一种形式diag(A,k),其功能是提取第k条对角线的元素。

    (2) 构造对角矩阵设V为具有m个元素的向量,diag(V)将产生一个m*m对角矩阵,其主对角线元素即为向量V的元素。diag(V)函数也有另一种形式diag(V,k),其功能是产生一个n*n(n=m+k)对角阵,其第m条对角线的元素即为向量V的元素。

    2、三角阵

    三角阵又进一步分为上三角阵和下三角阵,所谓上三角阵,即矩阵的对角线以下的元素全为0的一种矩阵,而下三角阵则是对角线以上的元素全为0的一种矩阵。

    (1) 上三角矩阵 求矩阵A的上三角阵的MATLAB函数是triu(A)。 triu(A)函数也有另一种形式triu(A,k),其功能是求矩阵A的第k条对角线以上的元素。

    (2) 下三角矩阵在MATLAB中,提取矩阵A的下三角矩阵的函数是tril(A)和tril(A,k),其用法与提取上三角矩阵的函数triu(A)和triu(A,k)完全相同。

    3、矩阵的转置与旋转

    (1) 矩阵的转置 转置运算符是单撇号(’)。

    (2) 矩阵的旋转 利用函数rot90(A,k)将矩阵A旋转90o的k倍,当k为1时可省略。

    4、矩阵的翻转

    对矩阵实施左右翻转是将原矩阵的第一列和最后一列调换,第二列和倒数第二列调换,…,依次类推。矩阵A实施左右翻转的函数是fliplr(A),对矩阵A实施上下翻转的函数是flipud(A)。

    5、矩阵的逆与伪逆

    (1) 矩阵的逆 对于一个方阵A,如果存在一个与其同阶的方阵B,使得:AB=BA=I (I为单位矩阵) 则称B为A的逆矩阵,当然,A也是B的逆矩阵。求方阵A的逆矩阵可调用函数inv(A)。

    (2) 矩阵的伪逆如果矩阵A不是一个方阵,或者A是一个非满秩的方阵时,矩阵A没有逆矩阵,但可以找到一个与A的转置矩阵A’同型的矩阵B,使得:ABA=A,BAB=B 此时称矩阵B为矩阵A的伪逆,也称为广义逆矩阵。在MATLAB中,求一个矩阵伪逆的函数是pinv(A)。

    6、方阵的行列式

    把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称为矩阵所对应的行列式的值。在MATLAB中,求方阵A所对应的行列式的值的函数是det(A)。

    7、矩阵的秩与迹

    (1) 矩阵的秩 矩阵线性无关的行数与列数称为矩阵的秩。在MATLAB中,求矩阵秩的函数是rank(A)。

    (2) 矩阵的迹矩阵的迹等于矩阵的对角线元素之和,也等于矩阵的特征值之和。在MATLAB中,求矩阵的迹的函数是trace(A)。

    8、向量和矩阵的范数

    矩阵或向量的范数用来度量矩阵或向量在某种意义下的长度。范数有多种方法定义,其定义不同,范数值也就不同。

    (1) 向量的3种常用范数及其计算函数 在MATLAB中,求向量范数的函数为:

    a、norm(V)或norm(V,2):计算向量V的2-范数;

    b、norm(V,1):计算向量V的1-范数;

    c、norm(V,inf):计算向量V的∞-范数。

    (2) 矩阵的范数及其计算函数 MATLAB提供了求3种矩阵范数的函数,其函数调用格式与求向量的范数的函数完全相同。

    (3) 矩阵的条件数 在MATLAB中,计算矩阵A的3种条件数的函数是:

    a、cond(A,1) 计算A的1-范数下的条件数;

    b、cond(A)或cond(A,2) 计算A的2-范数数下的条件数;

    c、cond(A,inf) 计算A的 ∞-范数下的条件数。

    9、 矩阵的特征值与特征向量

    在MATLAB中,计算矩阵A的特征值和特征向量的函数是eig(A),常用的调用格式有3种:

    (1) E=eig(A):求矩阵A的全部特征值,构成向量E。

    (2) [V,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。

    (3) [V,D]=eig(A,’nobalance’):与第2种格式类似,但第2种格式中先对A作相似变换后求矩阵A的特征值和特征向量,而格式3直接求矩阵A的特征值和特征向量。

    五、字符串

    在MATLAB中,字符串是用单撇号括起来的字符序列。MATLAB将字符串当作一个行向量,每个元素对应一个字符,其标识方法和数值向量相同。也可以建立多行字符串矩阵。字符串是以ASCII码形式存储的。abs和double函数都可以用来获取字符串矩阵所对应的ASCII码数值矩阵。相反,char函数可以把ASCII码矩阵转换为字符串矩阵。与字符串有关的另一个重要函数是eval,其调用格式为: eval_r(t) 其中t为字符串。它的作用是把字符串的内容作为对应的MATLAB语句来执行。

    六、其他

    查看矩阵非零元素的分布spy(A);

    第二部分 矩阵的应用

    一、稀疏矩阵

    对于一个 n 阶矩阵,通常需要 n2 的存储空间,当 n 很大时,进行矩阵运算时会占用大量的内存空间和运算时间。在许多实际问题中遇到的大规模矩阵中通常含有大量0元素,这样的矩阵称为稀疏矩阵。Matlab支持稀疏矩阵,只存储矩阵的非零元素。由于不存储那些”0″元素,也不对它们进行操作,从而节省内存空间和计算时间,其计算的复杂性和代价仅仅取决于稀疏矩阵的非零元素的个数,这在矩阵的存储空间和计算时间上都有很大的优点。

    矩阵的密度定义为矩阵中非零元素的个数除以矩阵中总的元素个数。对于低密度的矩阵,采用稀疏方式存储是一种很好的选择。

    1、稀疏矩阵的创建

    (1) 将完全存储方式转化为稀疏存储方式函数A=sparse(S)将矩阵S转化为稀疏存储方式的矩阵A。当矩阵S是稀疏存储方式时,则函数调用相当于A=S。 sparse函数还有其他一些调用格式: sparse(m,n):生成一个m*n的所有元素都是0的稀疏矩阵。 sparse(u,v,S)--:u,v,S是3个等长的向量。S是要建立的稀疏矩阵的非0元素,u(i)、v(i)分别是S(i)的行和列下标,该函数建立一个max(u)行、max(v)列并以S为稀疏元素的稀疏矩阵。此外,还有一些和稀疏矩阵操作有关的函数。full(A):返回和稀疏存储矩阵A对应的完全存储方式矩阵。

    (2) 直接创建稀疏矩阵 S=sparse(i,j,s,m,n),其中i 和j 分别是矩阵非零元素的行和列指标向量,s 是非零元素值向量,m,n 分别是矩阵的行数和列数。

    (3) 从文件中创建稀疏矩阵利用load和spconvert函数可以从包含一系列下标和非零元素的文本文件中输入稀疏矩阵。例:设文本文件 T.txt 中有三列内容,第一列是一些行下标,第二列是列下标,第三列是非零元素值。load T.txt S=spconvert(T)。

    (4) 稀疏带状矩阵的创建 S=spdiags(B,d,m,n) 其中m 和n 分别是矩阵的行数和列数;d是长度为p的整数向量,它指定矩阵S的对角线位置;B是全元素矩阵,用来给定S对角线位置上的元素,行数为min(m,n),列数为p 。

    (5) 其它稀疏矩阵创建函数

    S=speye(m,n)

    S=speye(size(A)) % has the same size as A

    S=buchy % 一个内置的稀疏矩阵(邻接矩阵)

    等等

    2、稀疏矩阵的运算

    稀疏存储矩阵只是矩阵的存储方式不同,它的运算规则与普通矩阵是一样的,可以直接参与运算。所以,Matlab中对满矩阵的运算和函数同样可用在稀疏矩阵中。结果是稀疏矩阵还是满矩阵,取决于运算符或者函数。当参与运算的对象不全是稀疏存储矩阵时,所得结果一般是完全存储形式。

    3、其他

    (1) 非零元素信息

    nnz(S) % 返回非零元素的个数

    nonzeros(S) % 返回列向量,包含所有的非零元素

    nzmax(S) % 返回分配给稀疏矩阵中非零项的总的存储空间

    (2) 查看稀疏矩阵的形状 spy(S)

    (3) find函数与稀疏矩阵

    [i,j,s]=find(S)

    [i,j]=find(S)

    返回 S 中所有非零元素的下标和数值,S 可以是稀疏矩阵或满矩阵。

    MATLAB命令大全

    管理命令和函数 
        help      在线帮助文件 
        doc      装入超文本说明 
        what      M、MAT、MEX文件的目录列表 
        type      列出M文件 
        lookfor      通过help条目搜索关键字 
        which      定位函数和文件 
        Demo      运行演示程序 
        Path      控制MATLAB的搜索路径 
    管理变量和工作空间 
        Who      列出当前变量 
        Whos      列出当前变量(长表) 
        Load      从磁盘文件中恢复变量 
        Save      保存工作空间变量 
        Clear      从内存中清除变量和函数 
        Pack      整理工作空间内存 
        Size      矩阵的尺寸 
        Length      向量的长度 
        disp      显示矩阵或 
    与文件和*作系统有关的命令 
        cd      改变当前工作目录 
        Dir      目录列表 
        Delete      删除文件 
        Getenv      获取环境变量值 
        !      执行DOS*作系统命令 
        Unix      执行UNIX*作系统命令并返回结果 
        Diary      保存MATLAB任务 
    控制命令窗口 
        Cedit      设置命令行编辑 
        Clc      清命令窗口 
        Home      光标置左上角 
        Format      设置输出格式 
        Echo      底稿文件内使用的回显命令 
        more      在命令窗口中控制分页输出 
    启动和退出MATLAB 
        Quit      退出MATLAB 
        Startup      引用MATLAB时所执行的M文件 
        Matlabrc      主启动M文件 
    一般信息 
        Info      MATLAB系统信息及Mathworks公司信息 
        Subscribe      成为MATLAB的订购用户 
        hostid      MATLAB主服务程序的识别代号 
        Whatsnew      在说明书中未包含的新信息 
        Ver      版本信息 
    *作符和特殊字符 
        +      加 
        —      减 
        *      矩阵乘法 
        .*      数组乘法 
        ^      矩阵幂 
        .^      数组幂 
             左除或反斜杠 
        /      右除或斜杠 
        ./      数组除 
        Kron      Kronecker张量积 
        :      冒号 
        ( )      圆括号 
        [ ]      方括号 
        .      小数点 
        ..      父目录 
        …      继续 
        ,      逗号 
        ;      分号 
        %      注释 
        !      感叹号 
        ‘      转置或引用 
        =      赋值 
        = =      相等 
        < >      关系*作符 
        &      逻辑与 
        |      逻辑或 
        ~      逻辑非 
        xor      逻辑异或 
    逻辑函数 
        Exist      检查变量或函数是否存在 
        Any      向量的任一元为真,则其值为真 
        All      向量的所有元为真,则其值为真 
        Find      找出非零元素的索引号 
    三角函数 
        Sin      正弦 
        Sinh      双曲正弦 
        Asin      反正弦 
        Asinh      反双曲正弦 
        Cos      余弦 
        Cosh      双曲余弦 
        Acos      反余弦 
        Acosh      反双曲余弦 
        Tan      正切 
        Tanh      双曲正切 
        Atan      反正切 
        Atan2      四象限反正切 
        Atanh      反双曲正切 
        Sec      正割 
        Sech      双曲正割 
        Asech      反双曲正割 
        Csc      余割 
        Csch      双曲余割 
        Acsc      反余割 
        Acsch      反双曲余割 
        Cot      余切 
        Coth      双曲余切 
        Acot      反余切 
        Acoth      反双曲余切 
    指数函数 
        Exp      指数 
        Log      自然对数 
        Log10      常用对数 
        Sqrt      平方根 
    复数函数 
        Abs      绝对值 
        Argle      相角 
        Conj      复共轭 
        Image      复数虚部 
        Real      复数实部 
    数值函数 
        Fix      朝零方向取整 
        Floor      朝负无穷大方向取整 
        Ceil      朝正无穷大方向取整 
        Round      朝最近的整数取整 
        Rem      除后取余 
        Sign      符号函数 
    基本矩阵 
        Zeros      零矩阵 
        Ones      全“1”矩阵 
        Eye      单位矩阵 
        Rand      均匀分布的随机数矩阵 
        Randn      正态分布的随机数矩阵 
        Logspace      对数间隔的向量 
        Meshgrid      三维图形的X和Y数组 
        :      规则间隔的向量 
    特殊变量和常数 
        Ans      当前的答案 
        Eps      相对浮点精度 
        Realmax      最大浮点数 
        Realmin      最小浮点数 
        Pi      圆周率 
        I,j      虚数单位 
        Inf      无穷大 
        Nan      非数值 
        Flops      浮点运算次数 
        Nargin      函数输入变量数 
        Nargout      函数输出变量数 
        Computer      计算机类型 
        Isieee      当计算机采用IEEE算术标准时,其值为真 
        Why      简明的答案 
        Version      MATLAB版本号 
    时间和日期 
        Clock      挂钟 
        Date      日历 
        Etime      计时函数 
        Tic      秒表开始计时 
        Toc      计时函数 
        Cputime      CPU时间(以秒为单位) 
    矩阵*作 
        Diag      建立和提取对角阵 
        Fliplr      矩阵作左右翻转 
        Flipud      矩阵作上下翻转 
        Reshape      改变矩阵大小 
        Rot90      矩阵旋转90度 
        Tril      提取矩阵的下三角部分 
        Triu      提取矩阵的上三角部分 
        :      矩阵的索引号,重新排列矩阵 
        Compan      友矩阵 
        Hadamard      Hadamard矩阵 
        Hankel      Hankel矩阵 
        Hilb      Hilbert矩阵 
        Invhilb      逆Hilbert矩阵 
        Kron      Kronecker张量积 
        Magic      魔方矩阵 
        Toeplitz      Toeplitz矩阵 
        Vander      Vandermonde矩阵 
    矩阵分析       
        Cond      计算矩阵条件数 
        Norm      计算矩阵或向量范数 
        Rcond Linpack      逆条件值估计 
        Rank      计算矩阵秩 
        Det      计算矩阵行列式值 
        Trace      计算矩阵的迹 
        Null      零矩阵 
        Orth      正交化 
    线性方程 
        和/      线性方程求解 
        Chol      Cholesky分解 
        Lu      高斯消元法求系数阵 
        Inv      矩阵求逆 
        Qr      正交三角矩阵分解(QR分解) 
        Pinv      矩阵伪逆 
    特征值和奇异值 
        Eig      求特征值和特征向量 
        Poly      求特征多项式 
        Hess      Hessberg形式 
        Qz      广义特征值 
        Cdf2rdf      变复对角矩阵为实分块对角形式 
        Schur      Schur分解 
        Balance      矩阵均衡处理以提高特征值精度 
        Svde      奇异值分解 
    矩阵函数 
        Expm      矩阵指数 
        Expm1      实现expm的M文件 
        Expm2      通过泰勒级数求矩阵指数 
        Expm3      通过特征值和特征向量求矩阵指数 
        Logm      矩阵对数 
        Sqrtm      矩阵开平方根 
        Funm      一般矩阵的计算 
    泛函——非线性数值方法 
        Ode23      低阶法求解常微分方程 
        Ode23p      低阶法求解常微分方程并绘出结果图形 
        Ode45      高阶法求解常微分方程 
        Quad      低阶法计算数值积分 
        Quad8      高阶法计算数值积分 
        Fmin      单变量函数的极小变化 
        Fmins      多变量函数的极小化 
        Fzero      找出单变量函数的零点 
        Fplot      函数绘图 
    多项式函数 
        Roots      求多项式根 
        Poly      构造具有指定根的多项式 
        Polyvalm      带矩阵变量的多项式计算 
        Residue      部分分式展开(留数计算) 
        Polyfit      数据的多项式拟合 
        Polyder      微分多项式 
        Conv      多项式乘法 
        Deconv      多项式除法 
    建立和控制图形窗口 
        Figure      建立图形 
        Gcf      获取当前图形的句柄 
        Clf      清除当前图形 
        Close      关闭图形 
    建立和控制坐标系 
        Subplot      在标定位置上建立坐标系 
        Axes      在任意位置上建立坐标系 
        Gca      获取当前坐标系的句柄 
        Cla      清除当前坐标系 
        Axis      控制坐标系的刻度和形式 
        Caxis      控制伪彩色坐标刻度 
        Hold      保持当前图形 
    句柄图形对象 
        Figure      建立图形窗口 
        Axes      建立坐标系 
        Line      建立曲线 
        Text      建立文本串 
        Patch      建立图形填充块 
        Surface      建立曲面 
        Image      建立图像 
        Uicontrol      建立用户界面控制 
        Uimen      建立用户界面菜单 
    句柄图形*作 
        Set      设置对象 
        Get      获取对象特征 
        Reset      重置对象特征 
        Delete      删除对象 
        Newplot      预测nextplot性质的M文件 
        Gco      获取当前对象的句柄 
        Drawnow      填充未完成绘图事件 
        Findobj      寻找指定特征值的对象 
    打印和存储 
        Print      打印图形或保存图形 
        Printopt      配置本地打印机缺省值 
        Orient      设置纸张取向 
        Capture      屏幕抓取当前图形 
    基本X—Y图形 
        Plot      线性图形 
        Loglog      对数坐标图形 
        Semilogx      半对数坐标图形(X轴为对数坐标) 
        Semilogy      半对数坐标图形(Y轴为对数坐标) 
        Fill      绘制二维多边形填充图 
    特殊X—Y图形 
        Polar      极坐标图 
        Bar      条形图 
        Stem      离散序列图或杆图 
        Stairs      阶梯图 
        Errorbar      误差条图 
        Hist      直方图 
        Rose      角度直方图 
        Compass      区域图 
        Feather      箭头图 
        Fplot      绘图函数 
        Comet      星点图 
    图形注释 
        Title      图形标题 
        Xlabel      X轴标记 
        Ylabel      Y轴标记 
        Text      文本注释 
        Gtext      用鼠标放置文本 
        Grid      网格线 
    MATLAB编程语言 
        Function      增加新的函数 
        Eval      执行由MATLAB表达式构成的字串 
        Feval      执行由字串指定的函数 
        Global      定义全局变量 
    程序控制流 
        If      条件执行语句 
        Else      与if命令配合使用 
        Elseif      与if命令配合使用 
        End      For,while和if语句的结束 
        For      重复执行指定次数(循环) 
        While      重复执行不定次数(循环) 
        Break      终止循环的执行 
        Return      返回引用的函数 
        Error      显示信息并终止函数的执行 
    交互输入 
        Input      提示用户输入 
        Keyboard      像底稿文件一样使用键盘输入 
        Menu      产生由用户输入选择的菜单 
        Pause      等待用户响应 
        Uimenu      建立用户界面菜单 
        Uicontrol      建立用户界面控制 
    一般字符串函数 
        Strings      MATLAB中有关字符串函数的说明 
        Abs      变字符串为数值 
        Setstr      变数值为字符串 
        Isstr      当变量为字符串时其值为真 
        Blanks      空串 
        Deblank      删除尾部的空串 
        Str2mat      从各个字符串中形成文本矩阵 
        Eval      执行由MATLAB表达式组成的串 
    字符串比较 
        Strcmp      比较字符串 
        Findstr      在一字符串中查找另一个子串 
        Upper      变字符串为大写 
        Lower      变字符串为小写 
        Isletter      当变量为字母时,其值为真 
        Isspace      当变量为空白字符时,其值为真 
    字符串与数值之间变换 
        Num2str      变数值为字符串 
        Int2str      变整数为字符串 
        Str2num      变字符串为数值 
        Sprintf      变数值为格式控制下的字符串 
        Sscanf      变字符串为格式控制下的数值 
    十进制与十六进制数之间变换 
        Hex2num      变十六进制为IEEE标准下的浮点数 
        Hex2dec      变十六制数为十进制数 
        Dec2hex      变十进制数为十六进制数 
    建模 
        Append      追加系统动态特性 
        Augstate      变量状态作为输出 
        Blkbuild      从方框图中构造状态空间系统 
        Cloop      系统的闭环 
        Connect      方框图建模 
        Conv      两个多项式的卷积 
        Destim      从增益矩阵中形成离散状态估计器 
        Dreg      从增益矩阵中形成离散控制器和估计器 
        Drmodel      产生随机离散模型 
        Estim      从增益矩阵中形成连续状态估计器 
        Feedback      反馈系统连接 
        Ord2      产生二阶系统的A、B、C、D 
        Pade      时延的Pade近似 
        Parallel      并行系统连接 
        Reg      从增益矩阵中形成连续控制器和估计器 
        Rmodel      产生随机连续模型 
        Series      串行系统连接 
        Ssdelete      从模型中删除输入、输出或状态 
        ssselect      从大系统中选择子系统 
    模型变换 
        C2d      变连续系统为离散系统 
        C2dm      利用指定方法变连续为离散系统 
        C2dt      带一延时变连续为离散系统 
        D2c      变离散为连续系统 
        D2cm      利用指定方法变离散为连续系统 
        Poly      变根值表示为多项式表示 
        Residue      部分分式展开 
        Ss2tf      变状态空间表示为传递函数表示 
        Ss2zp      变状态空间表示为零极点表示 
        Tf2ss      变传递函数表示为状态空间表示 
        Tf2zp      变传递函数表示为零极点表示 
        Zp2tf      变零极点表示为传递函数表示 
        Zp2ss      变零极点表示为状态空间表示 
    模型简化 
        Balreal      平衡实现 
        Dbalreal      离散平衡实现 
        Dmodred      离散模型降阶 
        Minreal      最小实现和零极点对消 
        Modred      模型降阶 
    模型实现 
        Canon      正则形式 
        Ctrbf      可控阶梯形 
        Obsvf      可观阶梯形 
        Ss2ss      采用相似变换 
    模型特性 
        Covar      相对于白噪声的连续协方差响应 
        Ctrb      可控性矩阵 
        Damp      阻尼系数和固有频率 
        Dcgain      连续稳态(直流)增益 
        Dcovar      相对于白噪声的离散协方差响应 
        Ddamp      离散阻尼系数和固有频率 
        Ddcgain      离散系统增益 
        Dgram      离散可控性和可观性 
        Dsort      按幅值排序离散特征值 
        Eig      特征值和特征向量 
        Esort      按实部排列连续特征值 
        Gram      可控性和可观性 
        Obsv      可观性矩阵 
        Printsys      按格式显示系统 
        Roots      多项式之根 
        Tzero      传递零点 
        Tzero2      利用随机扰动法传递零点 
    时域响应 
        Dimpulse      离散时间单位冲激响应 
        Dinitial      离散时间零输入响应 
        Dlsim      任意输入下的离散时间仿真 
        Dstep      离散时间阶跃响应 
        Filter      单输入单输出Z变换仿真 
        Impulse      冲激响应 
        Initial      连续时间零输入响应 
        Lsim      任意输入下的连续时间仿真 
        Ltitr      低级时间响应函数 
        Step      阶跃响应 
        Stepfun      阶跃函数 
    频域响应 
        Bode      Bode图(频域响应) 
        Dbode      离散Bode图 
        Dnichols      离散Nichols图 
        Dnyquist      离散Nyquist图 
        Dsigma      离散奇异值频域图 
        Fbode      连续系统的快速Bode图 
        Freqs      拉普拉斯变换频率响应 
        Freqz      Z变换频率响应 
        Ltifr      低级频率响应函数 
        Margin      增益和相位裕度 
        Nichols      Nichols图 
        Ngrid      画Nichols图的栅格线 
        Nyquist      Nyquist图 
        Sigma      奇异值频域图 
    根轨迹 
        Pzmap      零极点图 
        Rlocfind      交互式地确定根轨迹增益 
        Rlocus      画根轨迹 
        Sgrid      在网格上画连续根轨迹 
        Zgrid      在网格上画离散根轨迹 
    增益选择 
        Acker      单输入单输出极点配置 
        Dlqe      离散线性二次估计器设计 
        Dlqew      离散线性二次估计器设计 
        Dlqr      离散线性二次调节器设计 
        Dlqry      输出加权的离散调节器设计 
        Lqe      线性二次估计器设计 
        Lqed      基于连续代价函数的离散估计器设计 
        Lqe2      利用Schur法设计线性二次估计器 
        Lqew      一般线性二次估计器设计 
        Lqr      线性二次调节器设计 
        Lqrd      基于连续代价函数的离散调节器设计 
        Lqry      输出加权的调节器设计 
        Lqr2      利用Schur法设计线性二次调节器 
        Place      极点配置 
    方程求解 
        Are      代数Riccati方程求解 
        Dlyap      离散Lyapunov方程求解 
        Lyap      连续Lyapunov方程求解 
        Lyap2      利用对角化求解Lyapunov方程 
    演示示例 
        Ctrldemo      控制工具箱介绍 
        Boildemo      锅炉系统的LQG设计 
        Jetdemo      喷气式飞机偏航阻尼的典型设计 
        Diskdemo      硬盘控制器的数字控制 
        Kalmdemo      Kalman滤波器设计和仿真 
    实用工具 
        Abcdchk       检测(A、B、C、D)组的一致性 
        Chop      取n个重要的位置 
        Dexresp      离散取样响应函数 
        Dfrqint      离散Bode图的自动定范围的算法 
        Dfrqint2      离散Nyquist图的自动定范围的算法 
        Dmulresp      离散多变量响应函数 
        Distsl      到直线间的距离 
        Dric      离散Riccati方程留数计算 
        Dsigma2      DSIGMA实用工具函数 
        Dtimvec      离散时间响应的自动定范围算法 
        Exresp      取样响应函数 
        Freqint      Bode图的自动定范围算法 
        Freqint2      Nyquist图的自动定范围算法 
        Freqresp      低级频率响应函数 
        Givens      旋转 
        Housh      构造Householder变换 
        Imargin      利用内插技术求增益和相位裕度 
        Lab2ser      变标号为字符串 
        Mulresp      多变量响应函数 
        Nargchk      检测M文件的变量数 
        Perpxy      寻找最近的正交点 
        Poly2str      变多项式为字符串 
        Printmat      带行列号打印矩阵 
        Ric      Riccati方程留数计算 
        Schord      有序Schwr分解 
        Sigma2      SIGMA使用函数 
        Tfchk      检测传递函数的一致性 
        Timvec      连续时间响应的自动定范围算法 
        Tzreduce      在计算过零点时简化系统 
        Vsort      匹配两根轨迹的向量

    MATLAB常见问题和常用命令参考

    Q1:matlab有没有监视内存的方法?
    A: 用函数whos。

    Q2:如何解决matlab7.0命令窗口跳出一大堆Java错误...
    A: 换matlab 7的sp2。

    Q3:自从安装matlab,一开机就在进程里有matlab。
        能不能开机的时候进程就不运行matlab?
    A: 开始-->控制面板-->管理工具-->服务
        把MATLAB Server的属性改成“手动”就行了。

    Q4:退出matlab7程序运行的快捷键。
    A:  ctrl+q

    Q5:matlab7远程控制是否有限制?
    A: 不能远程控制,不过你可以先在你的remote机器上打开,然后就可以用了。

    Q6:Matlab占用资源太多怎么办?
    A: 用matlab -nojvm启动(如果不需要图形界面)。

    Q7:怎样给matlab添加新的toolbox?
    A:  在matlab的文件菜单里边添加路径,选set path。

    Q8:请问matlab有没有命令可以调出历史输入啊?
    A:  command history 窗口。

    Q9:matlab 7.0 不能在64位的cpu下运行?
    A: matlab 应该是依赖于自己的虚拟机的
        但是好像这个虚拟机是在 IA32 里面作出来的,所以,应该找个带 64 位的
        java 虚拟机替换原来的,不过不一定能行 or so,记不清了)

    Q10:matlab有没有注释一段的功能?
    A:  选中一段代码,ctrl r就是区段注释
         选中一段代码,ctrl t取消区段注释

    Q11:今有WINDOWS版MATLAB7,启动时只出现版权画面,然后进程结束。
    A:   用matlab -nojvm可以启动,但是报了OpenGL错误的信息,估计是显卡比较
         差或驱动程序不好。在显示属性里关闭硬件加速即可。


    1、学会用help和doc函数。

    2、输入输出文件:save/load
       在屏幕上显示文件:type

    3、解线性方程组AX=B:X=A/B

    4、作图时两张曲线合并:hold on或者subplot作子图

    5、程序计算时间:tic,toc或者clock

    6、变量显示方式更改:format long/short/bank...

    7、数组元素求和:sum

    8、求数组长度:length
       求矩阵维数:size或者ndims  矩阵元素个数:numel

    9、函数作图:
       饼图:pie/pie3    误差图:errorbar     散点图:scatter/scatter3
       直方图:hist      函数图:fplot        动画:movie

    10、矩阵分析:
        左右翻转:fliplr    上下翻转:flipud    转置:transpose
        矩阵求逆:inv       矩阵范数:norm      条件数:cond
        初等变换:rref      特征值:eig/eigs

    11、特殊矩阵:
        元素全为1的矩阵:ones          元素全为0的矩阵:zeros
        单位阵:eye                    魔方阵:magic
        线性变化数组:linspace         聚合矩阵:cat/horzcat/vertcat

    12、随机数:
        创建一个元素服从均匀分布的随机数数组:rand
        创建一个元素服从正态分布的随机数数组:randn
        二项分布:binornd  指数分布:exprnd       F分布:frnd
        几何分布:geornd   超几何分布:hygernd    泊松分布:poissrnd
        正态分布:normrnd  离散均匀分布:unidrnd  连续均匀分布:unifrnd

    13、清屏:clc  清理内存:clear

    14、字体显示变更等:preferences

    15、得到一个文件夹的所有文件名:ls

    16、语句太长的话可以再句末加...换行。

     

    更深层次和更进一步了解MATLAB实际操作应用的可以参考以下的链接:

    http://blog.csdn.net/chl033/article/category/478784

  • 相关阅读:
    php 正则检索中文
    PHP 文件
    mysql优化のLIKE
    前端小知识
    Oracle数据库自动备份[转载]
    错误: 在类 com.js.sort.ArraySort 中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.application.Application
    idea中deployment点击加号没有出现artifact
    数据查不到(空格问题)
    java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String
    org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.scheduling.TaskScheduler' available
  • 原文地址:https://www.cnblogs.com/hellowooorld/p/6957004.html
Copyright © 2011-2022 走看看