matlab

作者: 六便士少年 | 来源:发表于2015-04-15 23:29 被阅读309次

    1.概论

    Matlab有五大通用功能:数值计算功能(Nemeric),符号运算功能(Sybolic)(当要求Matlab进行符号运算时,它就请求Malpe计算并将结果返回到Matlab命令窗口),数据可视化功能(Graphic),数据图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)

    2.Matlab简介

    1.指令行的编辑

    Matlab是一种交互式语言,随时输入指令,即时给出运算结果。

    2.入门演示

    intro↵ demo↵

    3. 帮助

    1.
    helo↵ 帮助总览 help elfun↵ 关于基本函数的帮助信息 helo exp↵ 指数函数exp的详细信息
    ** 2.lookfor 指令 **
    根据用户提供的完整或不完整的关键词,去搜索出一组与之相关的指令
    例如:
    lookfor interal↵ 查找有关积分的指令 lookfor fourier↵ 查找能进行傅立叶变化的指令
    3.超文本格式的帮助文件
    在matlab中,关于一个函数的帮助信息可以用doc命令以超文本的方式给出。
    如: doc↵ doc doc↵ doc eig ↵ eig求矩阵的特征值和特征向量

    4.简单的矩阵输入

    1.要直接输入矩阵时,矩阵元素用空格或逗号隔开;矩阵行用分号“;”隔开,整个矩阵放在方括号"[]"里
    A=[1,2,3,4,5,6,7,8,9]↵

    说明:指令执行后,矩阵A被保存在Matlab的工作间中,以备后用。如果用户不用clear指令清除它,或对它进行重新赋值,那么该矩阵会一直保存在工作间中,知道本Matlab指令窗口关闭为止。
    2.矩阵的分行的输入
    A=[1,2,3 4,5,6 7,8,9]

    5.语句与变量

    1.Matlab语句有两种最常见的形式
    i)表达式
    ii)变量=表达式
    2.特殊变量

    • ans 用于结果的缺省变量值
    • pi 圆周率
    • eps 计算机的最小数
    • flops 浮点运算次数
    • inf 无穷大 如1/0
    • NaN 不定量 如0/0
    • i(j) i=j=根号(-1)
    • nargin 所用函数的输入变量数目
    • nargout 所用函数的输入变量数目
    • realmin 最小可用正实数
    • realmax 最大可用正实数

    6.数据结构:向量,矩阵,结构数组和细胞数组

    1.向量的转置
    z=[1+j,2+pi*i,-sqrt(-1)]' z= 1.000-1.000i 2.000-3.1416i 0 + 1.000i
    当对复数向量进行转置操作时,可以得到其共轭转置向量,z‘(非共轭转置向量)
    2.产生一个行向量
    t=[0:0.1:10] 产生从0到10的行向量,元素之间间隔为0.1
    t=linspace(n1,n2,n); 产生n1和n2直接线性均匀分布的n个数(缺省n时,产生100个数)
    t=logspace(n1,n2,n) (缺省n时,产生50个数)
    3.who,whos,size和length是对提供工作空间变量信息很有用处的四个命令

    • who 执行该命令可列出存储空间的所有变量
    • whos 显示所有的变量,变量所占的字节数及该变量是否是实数
    • size(a) 执行该命令可以得到矩阵a的行数和列数
    • length(a) 执行该命令后,屏幕上显示出向量a的长度。如果a是矩阵,则显示的参数为行数列数中的最大数。
      4.矩阵的标号
      A(m,n)表示矩阵A的第m行,第n列的元素
      A(1:2,1:3)表示矩阵A的从第一行到第二行,从第一列到第三列的所有元素;
      A(:)可以得到一个长向量,该向量的元素是按列一一叠加在一起的。
      例如
      a= [1 2;3 4];a(:)↵
      ans =1 3 2 4
      矩阵的下标也可以是向量。例如
      b=a(x,y)↵; 可以得到一个矩阵b。a的行标来自向量x,而列标来自向量y。
      例如,矩阵a有n列,那么b=a(:,n:-1:1)将使矩阵a按列的逆序排列
      5.特殊矩阵
      i) 单位矩阵
      eye(m),eye(size(a)) 可以得到与矩阵a同样大小的单位矩阵,eye(m,n)可得到一个可允许的最大单位矩阵而其余处补0
      ii)所有元素为1的矩阵
      ones(n),ones(size(a)),ones(m,n)
      iii)所有元素为0的矩阵
      zeros(n),zeros(m,n)
      iv)空矩阵是一个特殊矩阵,这在线性代数中是不存在的。
      例如: q=[ ]
      矩阵q在工作空间之中,但它的大小为零。通过空阵的方法可以删去行与列。例如a=rand(5);a(:,1:3)=[ ]
      第一条指令执行后得到一个5×5的矩阵;第二天指令将矩阵a的前三列删除。
      v)对角矩阵
      当v是向量时,diag(v)得到以v的元素为对角线上元素的对角矩阵;
      当v是矩阵时,diag(v)得到一个列向量,其元素为矩阵v对角线上的元素,diag(v,1)得到矩阵v对角线上移一行的元素组成的列向量,diag(v,-1)得到矩阵v对角线下移一行的元素组成的列向量。
      6.字符串要用单引号。
      disp('text string') disp显示命令
      7.结构数组
      有时需要将不同的数据类型组合成一个整体,以便于引用。这些组合在一个整体中的数据是相互联系的。
      下面简单结束结构的定义与引用
      i) 结构数组的定义
      定义结构数组可以采用两种方法:用赋值语句定义和用函数struce定义
      赋值语句定义结构,结构名和属性名用"."分开。
      student.name='John Doe' student.num=123456 student.test=[79 75 73;80 78 79;90 85 80];
      再键入以下三行可给该结构数组增加一个元素
      student(2).name='Ann Lane' student(2).num=123422; student(2).test=[70 76 73;80 99 79;90 85 80;80 85 86];
      函数struct定义结构数组,格式为:
      结构数组名=struct('属性1',’属性值1‘,'属性2',‘属性值2’,...)
      ii)结构数组属性值的修改、设置和获取
      str=student(2).name, 取出第二个元素的name属性的值
      n=student(2).test(4,2),取出第二个元素的值中第四行第二列上的数。
      student(2).test(4,2)=0修改第二个元素test的值中第四行第二列上的数的值
      关于结构数组有如下函数
      函数名 作用
    • struct 生成和转换为结构数组
    • fieldnames 查询结构数组的属性名
    • getfield 查询结构数组的属性值
    • setfield 设置结构数组的属性值
    • rmfield 删除属性
    • isfield 检查是否为数组的属性
    • isstruct 检查数组是否为结构型
      8.细胞数组
      细胞数组也是matlab里的一类特殊的数组。在matlab里,由于有细胞数组这个数据类型,才能把不同类型,不同维度的数组组成一个数组。
      细胞数组的每一个元素可为类型不同、维度不同的矩阵、向量、标量或多维数组,所有元素用大括号括起来。如矩阵A=[1 2 3 4;2 3 4 5;3 4 5 6]
      c={A,sum(A),sum(sum(A))} 得到一个1×3的细胞数组
      关于细胞数组有如下函数
      函数名 作用
      celldisp 显示细胞数组的内容
      cell 生成细胞数组
      cellplot 用图形方式显示细胞数组
      num2cell 把数值转换为细胞型
      deal 输入和输出的匹配
      cell2struct 把细胞数组转换成结构数组
      struct2cell 把结构数组转换为细胞数组
      iscell 检验数组是否为细胞型
      i) 细胞数组的生成
    • 生成:
    • 赋值语句直接生成;
    • 先用cell函数预先分配数组,然后再对每个元素赋值
    • 赋值:
    • 采用数组元素的下标赋值
      A{1,1}=[1:5;6:10];
      A{1,2}=['Anne cat'];
      A{2,1}={3+7i};
      A

    相关文章

      网友评论

        本文标题:matlab

        本文链接:https://www.haomeiwen.com/subject/omysfttx.html