MATLAB基础
目录
-
- 帮助命令
- MATLAB编程基础
-
- 1)数据类型
- 2)变量
- 3)数组/矩阵操作
- 4)运算符
- 5)表达式
- MATLAB程序设计
-
- 1)M文件
- 2)函数
- 3)程序流程控制
帮助命令
help命令
是查询函数语法的最基本方法,查询信息会直接显示在命令窗口中。
适用于已知命令但不知道具体用法的情况。
如: >>help imshow
MATLAB编程基础
1)数据类型
2)变量
-
变量的命名
变量名可以由数字、字母、下划线构成,如signal_x1。
变量的首字符必须是字母,如12abc为无效的变量名。
变量名区分大小写,如Abc和abc为两个不同的变量。
变量名必须是不含空格的单个词。
-
变量的赋值
变量赋值前无需声明,直接赋值,如a=3。
全局变量用global进行声明,如global mypara。
- 特殊变量
变量与内存管理
//显示内存中的所有变量
>> who
>> whos
//将内存中的变量存为数据文件
>> save filename
>> save filename variablename
//从数据文件中将变量读入内存
>> clear
>> load filename
3)数组/矩阵操作
- 创建一维数组变量
- 创建二维数组变量
-
矩阵元素标识与寻访
单个元素标识和寻访的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即可。
- 矩阵元素的定位
:可以查询并返回满足某条件下的数组下标或非零元素的下标find函数
-
常用矩阵操作
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)运算符
Ⅰ 算术运算符:用于进行数值的计算
Ⅱ 关系运算符:用于对操作数进行定量比较
Ⅲ 逻辑运算符:逻辑运算符用于进行“与(AND)”、“或(OR)”、“非(NOT)”等逻辑运算
5)表达式
表达式由变量、各种运算符和括号()组成,包括进行算术运算、关系运算和逻辑运算。
表达式根据返回值的类型可分为算术表达式和逻辑表达式
例如:34+3/24为算术表达式,(a>b)&&(c<=d)为逻辑表达式。
在优先级相同的情况下,MATLAB按照从左到右的方式进行运算。
在表达式中,各类运算符的优先级从高到低如下:
(1) 括号()
(2) .’ ,.^ ,’ ,^
(3) “单目加”+ ,“单目减”-,“逻辑非”~
(4) .* ,./ ,.\ ,* ,/ ,
(5) “相加”+ ,“相减”-
(6) 冒号运算符 :
(7) < ,<= ,> ,>= ,== ,~=
(8) &
(9) |
(10) &&
(11) ||
MATLAB程序设计
1)M文件
2)函数
函数
:完成特定功能的子程序段
Built-in functions(内建函数,函数库) User-defined functions(使用者自建函数)
函数文件是文件名后缀为.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)程序流程控制
循环语句 for, while
条件转移 if end, if elseif else end
开关语句 switch case
注释语句 %
中断语句 break
暂停语句 pause
回显语句 echo on/off
bingo~ ✨ 预见未来最好的方式,就是创造它