[toc]

A MATLAB系统环境

A.a MATLAB操作界面的组成

1 Matlab主窗口
(一)【Matlab】Matlab基础知识 - 图1

  • 功能区:提供三个选项卡(主页,绘图,应用程序),各自有不同的工具可供使用。
  • 快速访问工具栏:包含一些常用按钮
  • 当前文件夹工具栏:用于实现当前文件夹的操作

2 命令行窗口
(一)【Matlab】Matlab基础知识 - 图2
命令行窗口用于输入命令并显示命令的执行结果。在命令提示符(一)【Matlab】Matlab基础知识 - 图3后输入命令并按下回车键,Matlab就会解释执行输入的命令并显示结果
(一)【Matlab】Matlab基础知识 - 图4


3 当前文件夹窗口
(一)【Matlab】Matlab基础知识 - 图5
(一)【Matlab】Matlab基础知识 - 图6
注意:一定要先建立文件夹,再将文件夹设为当前文件夹。
(一)【Matlab】Matlab基础知识 - 图7


4 工作区窗口
是Matlab用于存储各种变量和结果的空间,可用于变量的显示和操作。
(一)【Matlab】Matlab基础知识 - 图8
在工作区以表格形式显示变量a与x的名称,取值等信息。在工作区还可以对变量进行保存、编辑、删除等操作。


A.b MATLAB的搜索路径

1 用户在命令行窗口输入一条命令后,MATLAB将按照一定顺序依次寻找命令对象。
顺序(当以下都同名时):
(一)【Matlab】Matlab基础知识 - 图9
如(clear清楚工作区的全部变量):
(一)【Matlab】Matlab基础知识 - 图10
所以定义变量名时要避免与文件名和函数名重复。


2 设置文件搜索路径
(一)【Matlab】Matlab基础知识 - 图11

在命令行输入文件名后,MATLAB是在当前文件夹与搜索路径文件夹中寻找这个文件并执行文件内容的,所以要执行的文件必须放在这两类文件夹中。
如果两个文件夹种有同名的M文件,在命令行输入这个文件名执行顺序:当前文件夹>搜索路径文件夹


B MATLAB数值数据

B.a 数值数据类型的分类(class)

1 整形:
(一)【Matlab】Matlab基础知识 - 图12
(一)【Matlab】Matlab基础知识 - 图13


2 浮点型
(一)【Matlab】Matlab基础知识 - 图14
class函数可以得到参数的数据类型。
(一)【Matlab】Matlab基础知识 - 图15


3 复数型
(一)【Matlab】Matlab基础知识 - 图16

  1. real() %求复数的实部
  2. imag() %求复数的虚部

B.b 数值数据的输出格式(format)

format 格式符  % 设置数据的输出格式

(一)【Matlab】Matlab基础知识 - 图17
不同的格式符输出不同的数据格式。
注意:format命令只是影响数据输出的格式,而不影响数据的计算和存储。


B.c 常用数学函数

B.c.a 函数的调用格式

函数名(函数自变量的值)

函数的自变量规定为矩阵变量(标量本身是矩阵的一种特例)。
函数在运算时是将函数逐项作用于矩阵的每个元素上,所以最后运算的结果就是一个与自变量同型的矩阵。
(一)【Matlab】Matlab基础知识 - 图18


B.c.b 常用函数的应用(sin,sind;abs;取整)

(一)【Matlab】Matlab基础知识 - 图19
(一)【Matlab】Matlab基础知识 - 图20
(一)【Matlab】Matlab基础知识 - 图21

rem(m,n)   %求m/n的余数

(一)【Matlab】Matlab基础知识 - 图22

isprime(n) # 判断n是否是素数,是返回1,否返回0.

(一)【Matlab】Matlab基础知识 - 图23


C 变量及其操作

计算机处理的数据都是存放在内存单元中的,而每一个内存单元都有一个唯一的地址,程序就是通过这个地址来访问对应内存单元的。
在如Matlab这种高级语言中,只需要给每个内存单元取一个名字,然后通过这个名字就能访问每个内存单元了。

C.a 变量与赋值语句

  • 变量本质上讲是内存单元的一个抽象
  • 在Matlab中,变量名是以字母开头,后接字母、数字或下划线的字母序列,最多63个字符。
    (一)【Matlab】Matlab基础知识 - 图24
  • 变量名区分大小写
  • 标准函数名以及命令名必须用小写字母

赋值语句两种格式

变量=表达式        % 变量结果会在命令行中显示出来
变量=表达式;      % 变量结果不会在命令行中显示出来

例子:
(一)【Matlab】Matlab基础知识 - 图25


C.b 预定义变量

(一)【Matlab】Matlab基础知识 - 图26


C.c 变量的管理

C.c.a 变量的删除和修改(who,whos)

在工作区选择变量右击即可进行删除和修改。
(一)【Matlab】Matlab基础知识 - 图27
who命令和whos命令:
who命令只显示已存在变量的名称。而whos显示信息更多。
(一)【Matlab】Matlab基础知识 - 图28


C.c.b 内存变量文件(save,load)

用于保存Matlab工作区变量的文件叫做内存变量文件,其扩展名为.mat,也叫MAT文件,是一种标准的二进制格式文件。
save命令:创建内存变量文件
load命令:载入内存变量文件

save mydata a x   % 将a x保存在mydata.mat文件中
load mydata       % 载入mydata.mat中的变量

D MATLAB矩阵表示

D.a 矩阵的建立

(一)【Matlab】Matlab基础知识 - 图29
(一)【Matlab】Matlab基础知识 - 图30


D.b 冒号表达式(linspace)

1 用冒号产生行向量t:
(一)【Matlab】Matlab基础知识 - 图31


2 用linspace函数产生行向量x:
(一)【Matlab】Matlab基础知识 - 图32

D.c结构矩阵和单元矩阵

D.c.a 结构矩阵:

在实际应用中,经常会遇到不同类型的数据项组成的实体,例如一个学生的数据实体就包括了年龄,姓名,学号,这些数据是相互联系的。结构数据类型就可以把这些数据类型不同但逻辑上相关的数据组成一个有机的整体。

结构矩阵元素.成员名=表达式

例如: 学生这个结构数据包含三个成员,分别是年龄,姓名,学号,由结构数据构成的矩阵就是结构矩阵。结构矩阵里的每个元素都是结构数据类型的。即结构矩阵相当于一个班级,结构矩阵里的元素就是这个班级的学生,每个学生有年龄,姓名,学号三个信息(成员)。

(一)【Matlab】Matlab基础知识 - 图33

D.c.b 单元矩阵

单元数据类型,也是把不同的数据放在一个变量中,但与结构矩阵所不同的是,结构矩阵的各个元素下还有成员,每个成员都有自己的名字,而单元矩阵的各个元素就是不同类型的数据,每个元素直接由不同类型的数据组成。
(一)【Matlab】Matlab基础知识 - 图34

E 矩阵元素的引用

E.a 矩阵元素的引用方式(sub2ind,ind2sub)

(一)【Matlab】Matlab基础知识 - 图35
(一)【Matlab】Matlab基础知识 - 图36
如果给出的行下标和列下标大于矩阵的行数和列数,Matlab将自动扩展原来的矩阵,并将扩展后没有赋值的元素赋值为0。
(一)【Matlab】Matlab基础知识 - 图37


(一)【Matlab】Matlab基础知识 - 图38
(一)【Matlab】Matlab基础知识 - 图39


(一)【Matlab】Matlab基础知识 - 图40
(一)【Matlab】Matlab基础知识 - 图41


E.b 利用冒号表达式获得子矩阵(end)

子矩阵是指由矩阵中一部分元素构成的矩阵。
(一)【Matlab】Matlab基础知识 - 图42
例子:
(一)【Matlab】Matlab基础知识 - 图43
(一)【Matlab】Matlab基础知识 - 图44


E.c利用空矩阵删除矩阵的元素

(一)【Matlab】Matlab基础知识 - 图45
(一)【Matlab】Matlab基础知识 - 图46


E.d改变矩阵的形状(reshape)

在矩阵总元素保持不变的前提下,将矩阵A重新排成(一)【Matlab】Matlab基础知识 - 图47的二维矩阵。

reshape(A,m,n)

注意:reshape函数只是改变原矩阵的行数和列数,但并不改变原矩阵元素个数及其存储顺序。
(一)【Matlab】Matlab基础知识 - 图48


(一)【Matlab】Matlab基础知识 - 图49

A(:)等价于reshape(A,6,1)

F MATLAB基本运算

F.a算术运算

(一)【Matlab】Matlab基础知识 - 图50

(一)【Matlab】Matlab基础知识 - 图51

(一)【Matlab】Matlab基础知识 - 图52

(一)【Matlab】Matlab基础知识 - 图53
(一)【Matlab】Matlab基础知识 - 图54

A^2=A*A(一)【Matlab】Matlab基础知识 - 图55


(一)【Matlab】Matlab基础知识 - 图56
例子:
(一)【Matlab】Matlab基础知识 - 图57
例题:
(一)【Matlab】Matlab基础知识 - 图58


F.b 关系运算

(一)【Matlab】Matlab基础知识 - 图59
例题:
(一)【Matlab】Matlab基础知识 - 图60


F.c 逻辑运算(&,|,~)

(一)【Matlab】Matlab基础知识 - 图61
例子:
(一)【Matlab】Matlab基础知识 - 图62
(一)【Matlab】Matlab基础知识 - 图63


(一)【Matlab】Matlab基础知识 - 图64
例题:
(一)【Matlab】Matlab基础知识 - 图65


G 字符串处理

G.a 字符串的表示

(一)【Matlab】Matlab基础知识 - 图66

(一)【Matlab】Matlab基础知识 - 图67

(一)【Matlab】Matlab基础知识 - 图68
要求各行字符数要相等(列数相同)。如果不等,就要用空格调节各行长度,使之数目相等。

例题:
(一)【Matlab】Matlab基础知识 - 图69

G.b字符串的操作(strcmp;findstr;strrep)

将字符串内容作为MATLAB的命令执行
(一)【Matlab】Matlab基础知识 - 图70


(一)【Matlab】Matlab基础知识 - 图71


(一)【Matlab】Matlab基础知识 - 图72(一)【Matlab】Matlab基础知识 - 图73


(一)【Matlab】Matlab基础知识 - 图74


图片来源(一个讲的不错的MATLAB课程):
https://www.icourse163.org/search.htm?search=中南大学 Matlab#/