天天看点

【数据挖掘】MATLAB基础

MATLAB基础

目录

    • 帮助命令
    • MATLAB编程基础
      • 1)数据类型
      • 2)变量
      • 3)数组/矩阵操作
      • 4)运算符
      • 5)表达式
    • MATLAB程序设计
      • 1)M文件
      • 2)函数
      • 3)程序流程控制

帮助命令

help命令

是查询函数语法的最基本方法,查询信息会直接显示在命令窗口中。

适用于已知命令但不知道具体用法的情况。

如:  >>help imshow
           

MATLAB编程基础

1)数据类型

【数据挖掘】MATLAB基础

2)变量

  • 变量的命名

    变量名可以由数字、字母、下划线构成,如signal_x1。

    变量的首字符必须是字母,如12abc为无效的变量名。

    变量名区分大小写,如Abc和abc为两个不同的变量。

    变量名必须是不含空格的单个词。

  • 变量的赋值

    变量赋值前无需声明,直接赋值,如a=3。

    全局变量用global进行声明,如global mypara。

  • 特殊变量
    【数据挖掘】MATLAB基础

变量与内存管理

//显示内存中的所有变量
>> who 
>> whos
//将内存中的变量存为数据文件 
>> save filename 
>> save filename variablename
//从数据文件中将变量读入内存
>> clear
>> load filename
           

3)数组/矩阵操作

  • 创建一维数组变量
    【数据挖掘】MATLAB基础
  • 创建二维数组变量
    【数据挖掘】MATLAB基础
  • 矩阵元素标识与寻访

    单个元素标识和寻访的3种方式:全下标、单下标、逻辑1标识

    Ⅰ 全下标:

    对于二维矩阵来说,全下标标识由两个下标组成:行下标、列下标。

    如A(3,5)表示二维矩阵A的第3行第5列 ,MATLAB中对下标的标识是从1开始的

    Ⅱ 单下标:

    “只用一个下标来指明元素在矩阵中的位置”。

    首先要对二维矩阵的所有元素进行“一维编号”。所谓“一维编号”就是:先设想把二维矩阵的所有列,按照先左后右的次序首尾相连排成一维长列,然后自上而下对元素位置进行编号。

    单下标与全下标的转换关系:

    以m,n的二维矩阵A为例,若全下标的元素位置是“第a行,第b列”,那么相应的单下标则为c=(b-1)*m+a。

    Ⅲ 逻辑1标识:

    寻找矩阵中大于或者小于某值的元素的问题,使用逻辑1标识法。

    逻辑1标识用一个基于原矩阵A相对位置的逻辑数组B来对矩阵A进行寻访。数据B中每一个true值也就是1表示相对位置的A中元素可以被寻访。如果需要通过逻辑1标识来对矩阵进行寻访,只需将符合条件的元素位置的标识设置为逻辑1即可。

    【数据挖掘】MATLAB基础
    【数据挖掘】MATLAB基础
  • 矩阵元素的定位

    find函数

    :可以查询并返回满足某条件下的数组下标或非零元素的下标
    【数据挖掘】MATLAB基础
  • 常用矩阵操作

    A(M,:)=[] : 删除矩阵A的第M行 :所有列

    A(:,N)=[] : 删除矩阵A的第N列 :所有行

    [n]=length(v): 获得向量的长度

    [m,n]=size(A): 获得矩阵的维数

    reshape(A,order): 将矩阵A按指定的维数进行重组

    flipdim(A,n): 按第n维方向对矩阵A进行翻转;还有fliplr,flipud

    rot90(A): 将矩阵A逆时针翻转90度。

    permute(A,order): 将矩阵A按指定的维数顺序进行重排

  • 常用矩阵计算函数——MATLAB中许多对矩阵的计算以列为对象

    sum(A): 矩阵各列求和

    diag(A): 求A的对角线上的元素或形成对角矩阵

    inv(A): 求A的逆矩阵

    det(A): 求A的行列式

    rank(A):求A的秩

    eig(A):求A的特征根和特征向量

    poly(A):求A的特征多项式

4)运算符

Ⅰ 算术运算符:用于进行数值的计算

【数据挖掘】MATLAB基础

Ⅱ 关系运算符:用于对操作数进行定量比较

【数据挖掘】MATLAB基础

Ⅲ 逻辑运算符:逻辑运算符用于进行“与(AND)”、“或(OR)”、“非(NOT)”等逻辑运算

【数据挖掘】MATLAB基础
【数据挖掘】MATLAB基础

5)表达式

表达式由变量、各种运算符和括号()组成,包括进行算术运算、关系运算和逻辑运算。

表达式根据返回值的类型可分为算术表达式和逻辑表达式

  例如:34+3/24为算术表达式,(a>b)&&(c<=d)为逻辑表达式。

在优先级相同的情况下,MATLAB按照从左到右的方式进行运算。

在表达式中,各类运算符的优先级从高到低如下:

(1) 括号()

(2) .’ ,.^ ,’ ,^

(3) “单目加”+ ,“单目减”-,“逻辑非”~

(4) .* ,./ ,.\ ,* ,/ ,

(5) “相加”+ ,“相减”-

(6) 冒号运算符 :

(7) < ,<= ,> ,>= ,== ,~=

(8) &

(9) |

(10) &&

(11) ||

MATLAB程序设计

1)M文件

【数据挖掘】MATLAB基础

2)函数

函数

:完成特定功能的子程序段

Built-in functions(内建函数,函数库)     User-defined functions(使用者自建函数)

【数据挖掘】MATLAB基础

函数文件是文件名后缀为.m的文件,正文第一行必须以特定字符function开始,格式为:

function 输出变量名=函数名(输入变量名)

例如:自定义一个名为examsum的函数,其函数文件为examsum.m。

function [result]=examsum(a,b)

result=a+b;

函数调用的基本形式为:

[返回变量列表]=function_name(输入变量列表)

(1)使用函数可以加快计算速度。

当MATLAB首次执行一个函数时,它将打开的文件编译为存储器内部形式,加速了执行速度。而普通的M文件不被编译,而是在每次编译时,文件将被逐行解释执行。因此建议将能进 行模块化编程的部分都应写成函数文件。

(2) 函数可以嵌套,即在函数中可以调用其他的函数,甚至可以调用自己本身(递归调用)。

(3) 在建立函数文件时,函数文件名必须和函数名称保持一致,如sin() 函数的文件名必须为sin.m。

(4) 需要注意函数文件的放置位置,一般应将自定义的函数文件放在当前目录下或加入MATLAB的搜索路径。

如果对某一特定专题编写了很多函数,就可以将其放在一个固定的目录下,并在MATLAB中加入这个目录路径,这样就生成了一个自定义的工具箱。

(5) 在MATLAB中打开函数文件的快捷方法为:用鼠标选中函数名,使其高亮显示,在右键的快捷菜单中选择open selection命令或按F4键即可打开同名的函数文件。

3)程序流程控制

【数据挖掘】MATLAB基础

循环语句 for, while

条件转移 if end, if elseif else end

开关语句 switch case

注释语句 %

中断语句 break

暂停语句 pause

回显语句 echo on/off

【数据挖掘】MATLAB基础
bingo~   ✨ 预见未来最好的方式,就是创造它

继续阅读