Matlab基础知识
概述
Matlab是MathWorks开发的用来进行数字计算,可视化和编程的第四代高级编程语言和交互式环境。
它允许矩阵运算,绘制功能和数据;实现算法;创建用户界面;并可以与其它编程语言相交互;分析数据;开发算法并创建模型和应用程序。
Matlab的基础语法
与python一样是一歌解释性环境,会立即执行每条命令。
一些特殊符号的意义如下:
- ;:分号表示结束语句,也可以抑制和隐藏表达式的输出
- %:用于指示注释行
常用的一些运算符
运算符 | 使用说明 |
---|---|
+ | 加法 |
- | 减法 |
* | 标量和矩阵乘法运算 |
.* | 阵列乘法运算 |
^ | 标量和矩阵求幂运算 |
.^ | 阵列求幂运算 |
\ | 左除运算 |
/ | 右除运算 |
.\ | 阵列左除运算 |
./ | 阵列右除运算 |
: | 冒号,生成规则间隔的元素,并表示整个行或列 |
() | 括号;包含函数参数和数组索引;覆盖优先级 |
[] | 中括号;罩住阵列元素 |
. | 小数点 |
… | 省略号;行连续运算符 |
, | 逗号;分隔一行中的语句和元素 |
; | 分号;分隔列并抑制输出 |
_ | 引用符号和转置运算符 |
._ | 非共轭转置运算 |
= | 赋值运算 |
命名变量
变量名称由一个字母组成,后跟任意数字的字母,数字或下划线
Matlab是区分大小写的编程语言
变量名称可以是任意长度,但MATLAB只使用前N
个字符,其中N由函数namelengthmax
给出。
保存工作
save命令用于在工作空间保存所有变量,在当前目录中以.mat作为扩展名的文件
可以随时使用load命令重新加载文件。
Matlab变量
matlab中所有变量都是矩阵或数组。
可以通过who查看用过的变量名
**…**省略号可以用来表示长任务(扩展到下一行,就像英语中的连接符-)
默认使用显示四位小数(短格式)可以使用format long命令显示十进制后的16数字
创建向量
- 行向量:通过方括号中的元素来创建,使用空格或逗号分隔元素
- 列向量:通过用方括号中的元素集合来创建,使用**分号(
;
)**来分隔元素。
创建矩阵
矩阵是数字的二维数组。
在MATLAB中,通过将每行作为一系列空格或逗号分隔的元素输入矩阵,并以行号分隔一行。 例如,创建一个3x3
的矩阵:
m = [1 2 3; 4 5 6; 7 8 9]
Maltab
Matlab命令
管理会话的命令
- clc:清楚命令窗口
- clear:从内存中删除变量
- exist:检查文件或变量是否存在
- global:声明变量为全局变量
- help:搜索帮助主题
- lookfor:搜索帮助关键字的条目
- quit:停止Matlab
- who:列出当前变量
- whos:列出当前变量(长显示详细信息)
系统命令
- cd:更改当前目录(进入指定目录)
- date:显示当前日期
- delete:删除文件
- dairy:打开/关闭日记文件记录
- dir:列出当目录下的所有文件
- load:从文件加载工作区的变量
- path:显示搜索路径
- pwd:显示当前目录
- save:将工作空间变量保存在文件中
- type:显示文件的内容
- what:列处当前目录中的所有的Matlab文件
- wklread:读取.wkl电子表格文件
输入和输出命令
- disp:显示数组或字符串内容
- fscanf:从文件读取格式化数据
- format:控制屏幕显示格式
- fprintf:对屏幕或文件执行格式化的写入
- input:显示提示并等待输入
- ;:禁止打印显示
fscanf
和fprintf
命令的行为类似于C语言中的scanf
和printf
函数。它们支持以下格式代码 -
命令 | 描述说明 |
---|---|
%s | 格式化为字符串 |
%d | 格式化为字符串整数值 |
%f | 格式化为浮点值 |
%e | 格式化为科学记数法的浮点值 |
%g | 格式最紧凑的形式:%f 或%e 。 |
\n | 在输出字符串中插入一个换行 |
\t | 在输出字符串中插入制表符 |
格式化(format
)函数具有以下用于数字显示的形式 -
命令 | 描述说明 |
---|---|
format short | 4位十进制数(默认) |
format long | 16位数字 |
format short e | 5位数加上指数 |
format long e | 16位加上指数 |
format bank | 两位十进制数字 |
format + | 正,负或零 |
format rat | 有理近似 |
format compact | 禁止一些换行符 |
format loose | 重置为较不紧凑的显示模式 |
向量,矩阵和数组命令
下表显示了用于处理数组,矩阵和向量的各种命令 -
命令 | 描述说明 |
---|---|
cat | 连接数组 |
find | 查找非零元素的索引 |
length | 计算元素数量 |
linspace | 创建规则间隔的向量 |
logspace | 创建对数间隔向量 |
max | 返回最大的元素 |
min | 返回最小的元素 |
prod | 产生的每列 |
reshape | 改变大小 |
size | 计算数组大小 |
sort | 对每列进行排序 |
sum | 对每列进行求和 |
eye | 创建一个单位矩阵 |
ones | 创建一个数组 |
zeros | 创建一个零的数组 |
cross | 计算矩阵交叉积 |
dot | 计算矩阵点积 |
det | 计算数组的行列式 |
inv | 计算矩阵的倒数 |
pinv | 计算矩阵的伪逆 |
rank | 计算矩阵的秩 |
rref | 计算简化行阶梯形式 |
cell | 创建单元格数组 |
celldisp | 显示单元格数组 |
cellplot | 显示单元格阵列的图形表示 |
num2cell | 将数组转换为单元格数组 |
deal | 匹配输入和输出列表 |
iscell | 识别单元格数组 |
绘图命令
MATLAB提供了许多用于绘制图形的命令。下表显示了一些常用的绘图命令 -
命令 | 描述说明 |
---|---|
axis | 设置轴限制 |
fplot | 智能绘图功能 |
grid | 显示网格线 |
plot | 生成xy 坐标图 |
print | 打印或绘图到文件 |
title | 在文字的顶部放置文字 |
xlabel | 将文本标签添加到x 轴 |
ylabel | 将文本标签添加到y 轴 |
axes | 创建轴对象 |
close | 关闭当前坐标图 |
close all | 关闭所有坐标图 |
figure | 打开一个新的图形窗口 |
gtext | 通过鼠标启用标签放置 |
hold | 冻结当前坐标图 |
legend | 通过鼠标图例位置 |
refresh | 重新绘制当前图形窗口 |
set | 指定诸如轴的对象的属性 |
subplot | 在子窗口中创建图 |
text | 在图开放置字符串 |
bar | 创建条形图 |
loglog | 创建日志记录图 |
polar | 创建极坐标图 |
semilogx | 创建半标记图(对数横坐标) |
semilogy | 创建半标记图(对数纵坐标) |
stairs | 创建梯形图 |
stem | 创建茎图 |