MATLAB语言基础
本套笔记于学习《MATLAB语言基础》课程所载(中国大学MOOC平台)
MATLAB语言基础
笔记内容包括常用的MATLAB图形和脚本的编写,其中若有相关错误也请各位指出。内容较多,可以根据目录跳转。本笔记最后更改时间:2023年5月8日。
第一章 MATLAB概述
一、MATLAB的发展
- 由美国Mathworks公司于1984年正式推出,随后逐次升级。目前通常每年更新两次,例如2021a,2021b。用于数值计算和图形处理的系统环境。
- MATLAB(MATrix LABoratory)(矩阵实验室)是一种以矩阵运算为基础的交互式程序语言。
- 只有一种数据类型,一种标准的输入输出语句,不需编译。
二、MATLAB的优点
除具备卓越的数值计算能力外,还提供专业水平的符号计算、文字处理、可视化建模仿真和实时控制等功能。每个变量代表一个矩阵;每个元素都看作复数;所有运算都对矩阵和复数有效;指令表达式与数学、工程中常用的形式非常相似
- 友好的工作平台和编辑环境:许多工具采用图形用户界面,包括MATLAB桌面和一些窗口,例如命令窗口、编辑器和调试器等;程序不必经过编译就可以直接运行,能及时报告出现的错误并分析错误的原因。
- 简单易用的程序语言:MATLAB是一种高级的矩阵/阵列语言。语法特征更符合科技人员对数学表达式的书写格式,非常适合非计算机专业的人员使用。
- 强大的数学计算和数据处理能力:包含600多种数学运算函数,可以方便地实现用户所需的各种计算功能。例如矩阵、特征向量、傅里叶变换、线性方程求解、微分方程求解、复数、三角函数、多维数组运算等。矩阵的行数、列数无需事先定义。
- 强大而简易的绘图功能:能根据输入数据自动确定坐标绘图;能规定多种坐标系;能绘制三维坐标中的曲线和曲面;可设置不同的颜色、线型和视角等。
- 功能丰富,可扩展性强:有丰富的内部函数和工具箱。工具箱包括信号处理、图像处理、控制系统、神经元网络、小波分析、金融等,几乎涉及各个方面。
三、MATLAB的工作环境
- 命令窗(Command Window)
是对MATLAB进行操作的主要载体。默认情况下,启动MATLAB时就打开命令窗。MATLAB的所有函数和命令都可以在命令窗执行。
程序的运行结果(除图形外)都显示在命令窗。 - 图形窗(Figure Window)
显示图形的窗口。执行绘图命令后自动弹出。 - 文本编辑窗(File Editor)
编写和修改文件程序的窗口。
四、帮助系统
命令窗口的帮助系统。
- help:查找所有命令或函数的使用方法。
help+函数名 - lookfor:在不知道某命令或函数的确切名称时查找其功能。
lookfor+关键字
第二章 矩阵及其运算
第一节 MATLAB变量
-
MATLAB的特殊常量
特殊常量是一些预先定义好的数值变量含义 符号 圆周率π pi 虚数单位 i或j 无穷大∞ inf 非数 NaN 默认结果存储变量(临时变量) ans -
变量的命名规则
所有的变量都表示一个矩阵或一个向量
(1)变量名由大、小写的英文字母、数字和下划线等组成,但首位必须是英文字母(此处与其他语言如C语言有些区别,C语言的变量首字母可以是下划线_和字母,而MATLAB则只能是字母);
(2)变量名区分大小写;
(3)变量名不能是MATLAB的命令、函数、M文件名,以免引起逻辑运行错误;
(4)变量名的长度不能过长。 -
变量的定义与赋值
变量不需要先定义后使用,MATLAB会自动根据实际赋值的类型对变量类型进行定义
(1)赋值语句的一般形式:
变量 = 数/字符/表达式
a=1
x='s'
y=(1+2+3)/5*4
注意:单引号必须在英文状态下输入;数值变量的类型自动定义为双精度变量。
- 变量的显示
(1)显示格式:MATLAB中的数据存储和计算都是以双精度进行,但可以用format命令改变数据的显示格式。
(2)变量的显示命令:直接在命令行输入变量名再回车即可。用disp函数可以紧凑型格式显示结果而不输出变量名。
例:
A = magic(3)
disp('这是一个3行3列的魔方矩阵')
disp(A)
- 变量的存取
可以通过多种方式实现一个或多个变量的选择性存取
(1)命令:
save实现从内存到硬盘的存储;
load实现从硬盘到内存的载入。
①格式1:
load 文件名 变量名
save 文件名 变量名
②格式2:
S = load('文件名','格式','变量名')
S = save('文件名','格式','变量名')
③快捷方式:利用工作空间窗口
- 变量的清除
clear命令可以删除一个、多个或所有变量。
- 格式:
clear 变量名
clear 变量1 变量2 ···
clear all
注意: clear是从内存中删除变量,delete是从硬盘上删除数据文件
- 变量的检查
检查工作空间中的变量及其阶数
① who:显示前面用过的变量
② whos:显示前面用过的变量及其详细特征
注意:MATLAB中所有的命令和函数都用小写字母表示。
第二节 一维数组的创建与元素提取
- 一维数组(向量)的创建
(1)直接输入法
从键盘直接键入元素;
- 列与列之间的数据用逗号或空格分隔;
- 行与行之间的数据用分号分隔。
a=[1;2;3] %生成列向量
b=[1,2,3] %生成行向量
c=[1 2 3] %生成行向量
说明:
- 行中写多条语句时,逗号和分号可以作为语句间的分隔符。
- 用分号,则命令窗不显示运行结果。
(2)冒号生成法
用于产生递增或递减的等差数列
格式:初值:[步长]:终值
说明:当步长缺省时,默认值为1。
示例:
a=1:2:6
b=1:6
(3)定数线性采样法
用于产生起止于两点之间的n个数据点。
格式:x=linspace(a,b,[n])
说明:当n缺省时,默认值为100
示例:
b=linspace(1,6,6) % 等同于b=1:6
(4)拼接法
- 利用已有的一维数组创建新的一维数组。
- 将两个行向量或列向量拼接为一个行向量或列向量,也可以利用冒号抽取其中的部分数据生成新的一维数组。
①行向量拼接:用方括号和逗号
示例:a3=[a1,a2]
②列向量拼接:用方括号和分号
示例:b3=[b1;b2]
③向量的抽取:用冒号
示例:a4=a3(1:2:end) % 抽取a3中奇数位置的数组成新的数组
实例演示
创建两个不同的一维行向量和列向量,并利用这两个向量拼接成一个新的行向量和列向量,然后再由新向量中的奇数位置元素组成新的向量。
x1= 1:3
x2= linspace(5,20,4)
x= [x1,x2]
y1=[1:3]'
y2= linspace(5,20,4)'
y= [y1;y2]
x3= x(1:2:end)
y3= y(1:2:end)
- 一维数组中元素的提取
利用圆括号和索引号。
例:
A=[1 2 3 4 5]
a3=A(3)
%提取出数组A中第三个数记为a3
第三节 二维数组的创建与元素提取
- 二维数组(矩阵)的创建
(1)直接输入法
规则:
①矩阵元素必须在方括号内;
②同行元素之间用空格或逗号隔开;
③行与行之间用分号或回车符隔开;
④元素可以是数值、变量、表达式或函数;
⑤矩阵的维数不必预先定义。
示例:
a1=[1 2 3;4 5 6;7 8 9]
a2=[1,2,3;4,5,6;7,8,9]
a3=[1 2 3;
4 5 6;
7 8 9]
(2)利用MATLAB中的特殊矩阵函数构建新矩阵
| 含义 | 函数 |
|---|---|
| 全1矩阵 | ones() |
| 全0矩阵 | zeros() |
| (0,1)区间均匀分布的随机矩阵 | rand() |
| 单位矩阵 | eye() |
| 均值为0、方差为1的标准正态随机分布矩阵 | randn() |
- 二维数组中元素的提取</
MATLAB语言基础全面介绍

最低0.47元/天 解锁文章
1257





