MATLAB —— 基础语法
目录
MATLAB —— 基础语法
一、基础语法
1、常用的运算符
2、常用特殊变量和常数
3、变量
4、向量
5、矩阵
6、帮助手册
二、基础命令(与Linux和DOS命令类似)
1、会话管理命令
2、系统命令
3、输入输出命令
4、向量,矩阵,数组命令(重要)
4、图形命令
三、数据类型转换和判断
四、判断语句
五、循环语句
MATLAB用处:处理矩阵和数组;2D/3D绘图;线性代数;代数方程;统计;数据分析;微分积分方程;曲线拟合等;
一、基础语法
1、常用的运算符
| 运算符 | 说明 |
| = | 赋值 |
| + | 加法 |
| - | 减法 |
| * | 标量和矩阵乘法 |
| .* | 阵列乘法 |
| ^ | 标量和矩阵求幂 |
| .^ | 阵列求幂 |
| \ | 左除法 |
| / | 右除法 |
| .\ | 阵列左除法 |
| ./ | 阵列右除法 |
| : | 冒号; 生成规则间隔的元素,并表示整个行或列 |
| () | 函数参数和数组索引; 覆盖优先级 |
| [] | 阵列元素 |
| . |
|
| … | 行连续运算符 |
| , | 分隔一行中的语句和元素 |
| ; | 分隔列并抑制输出显示 |
| % | 注释 |
| ’ | 矩阵转置 |
| .’ | 数组转置 |
| _ | 引用符号和转置 |
| ._ | 非共轭转置 |
|
|
|
| < | 小于 |
| > | 大于 |
| == | 等于 |
| <= | 小于等于 |
| >= | 大于等于 |
| ~= | 不等于 |
|
|
|
| & | 按位与 |
| | | 按位或 |
| ^ | 按位异或 |
| && | 逻辑与 |
| || | 逻辑或 |
|
|
|
|
|
|
|
|
|
2、常用特殊变量和常数
| 特殊变量和常数 | 说明 |
| ans | 命令行应答 |
| eps | 浮点精度 |
| i,j | 虚部单位 |
| Inf | 无穷 |
| NaN | 未定义的数值结果(非数字) |
| pi | π |
| computer | 计算机类型的信息 |
3、变量
变量名称由一个字母组成,后跟任意数字的字母,数字或下划线。区分大小写。每个变量都是数组或者矩阵(向量相当于一维数组,矩阵相当于二维数组)。不能与关键字相同(iskeyword命令可以查看关键字)。
4、向量
创建行向量:a = [1, 2, 3, 4, 5]; %使用空格或者逗号分隔
创建列向量:a = [1; 2; 3; 4; 5]; %使用;分隔列
5、矩阵
将每行作为一系列空格或逗号分隔的元素输入矩阵,并以分号分隔一行。
a = [1, 2, 3; 4, 5, 6; 7, 8, 9];
6、帮助手册
help + xxx(xxx可以是命令或者函数等)
lookfor + xxx
doc + xxx
二、基础命令(与Linux和DOS命令类似)
只列出功能,具体的使用方法通过help xxx。
1、会话管理命令
| 命令 | 说明 |
| clc | 清除命令窗口 |
| clear | 从内存删除变量 |
| exist | 检查变量或者文件是否存在 |
| help | 搜索帮助主题 |
| lookfor | 搜索帮助关键字条目 |
| quit | 停止matlab |
| who | 列出当前变量 |
| whos | 列出变量详细信息 |
| global | 声明变量为全局 |
2、系统命令
| 命令 | 说明 |
| cd | 更改工作目录 |
| dir | 列出当前目录下的所有文件 |
| pwd | 显示当前目录 |
| type | 显示文件内容 |
| what | 列出当前目录下所有的matlab文件 |
| date | 当前日期 |
| delete | 删除文件 |
| diary | 打开/关闭日记文件记录 |
| load | 从文件加载到工作区 |
| path | 显示搜索路径 |
| wklread | 读取.wkl电子文件表格 |
3、输入输出命令
| 命令 | 说明 |
| disp | 显示数组或字符串内容 |
| ; | 禁止打印显示 |
| fcanf | 从文件读取格式化数据 %s:格式化为字符串 %d:格式化为整数值 %f:格式化为浮点数 %e:格式化为科学计数法 %g:格式最紧凑形式 \t:插入制表符 \n:插入换行 |
| fprintf | 对屏幕或文件格式化写入 |
| input | 提示并等待输入 |
| format | 控制屏幕显示格式 |
4、向量,矩阵,数组命令(重要)
| 命令 | 说明 |
| cat | 链接数组 |
| length | 计算元素数量 |
| linspace | 创建规则间隔的向量 |
| logspace | 创建对数间隔向量 |
| find | 查找非零元素的索引 |
| max | 最大值 |
| min | 最小值 |
| reshape | 改变大小 |
| size | 计算数组大小 |
| sort | 递增或递减排序 |
| sum | 对每列求和 |
| eye | 创建单位矩阵 |
| ones | 创建数组 |
| zeros | 创建全0数组 |
| cross | 计算矩阵交叉积 |
| dot | 计算矩阵点积 |
| det | 计算数组行列式 |
| inv | 计算矩阵的倒数 |
| pinv | 计算矩阵的伪逆 |
| rank | 计算矩阵的秩 |
| rref | 计算简化行阶梯形式 |
| cell | 创建单元格数组 |
| celldisp | 显示单元格数组 |
| cellplot | 显示单元格阵列图形 |
| num2cell | 数组转换成单元格数组 |
| deal | 匹配输入和输出列表 |
| iscell | 识别单元格数组 |
4、图形命令
| 命令 | 说明 |
| plot | 生成xy坐标图 |
| fplot | 智能绘图 |
| subplot | 子窗口中创建图 |
| axis | 设置轴限制 |
| grid | 显示网格 |
| | 打印或绘图到文件 |
| title | 图形标题 |
| xlabel | x文本标签 |
| ylabel | y文本标签 |
| axes | 创建轴对象 |
| close | 关闭当前坐标图 |
| close all | 关闭所有坐标图 |
| figure | 打开一个新的图形 |
| gtext | 通过鼠标启用标签放置 |
| hold | 冻结当前坐标图 |
| legend | 通过鼠标图例位置 |
| refresh | 重新绘制图形 |
| set | 指定对象的属性 |
| text | 放置字符串 |
| bar | 创建条形图 |
| loglog | 创建日志图 |
| polar | 创建极坐标图 |
| stairs | 创建梯形图 |
| stem | 创建茎图 |
| semilogy | 创建半标记图(对数横坐标) |
| semilogy | 创建半标记图(对数纵坐标) |
三、数据类型转换和判断
| 数据类型 | 说明 |
| char | 字符数据(字符串作为字符向量存储) |
| int8 | 8位有符号整数 a = 123.5; b = int8_t(a); |
| int16 | 16位有符号整数 |
| uint16 | 16位无符号整数 |
| int32 | 32位有符号整数 |
| uint32 | 32位无符号整数 |
| int64 | 64位有符号整数 |
| uint64 | 64位无符号整数 |
| single | 单精度 |
| double | 双精度 |
| logical | 逻辑值1或0 |
| 结构体struct | C型结构体 |
| int2str | 整数转换成字符串 |
| mat2str | 矩阵转换成字符串 |
| num2str | 数字转换成字符串 |
| str2double | 字符串转换成双精度 |
| str2num | 字符串转换成数字 |
|
|
|
| is | 状态检测 |
| iscell | 确定输入是单元数组 |
| iscellstr | 确定输入是字符串的单元格数组 |
| isfloat | 确定输入是否为浮点数组 |
| isnumeric | 确定输入是否是数字数组 |
| isinteger | 确定输入是否为整数数组 |
| islogical | 确定输入是否为逻辑数组 |
| isreal | 检查输入是否为实数数组 |
| isstr | 确定输入是否是字符数组 |
| isscalar | 确定输入是否为标量 |
| isstruct | 确定输入是否是结构数组 |
| isvector | 确定输入是否为向量 |
| validateattributes | 检查数组的有效性 |
四、判断语句
| 语句 | 说明 |
| if…end |
|
| if…else…end |
|
| if…else if…else…end |
|
| switch | switch(a) case 1 …
otherwise … end |
五、循环语句
| 语句 | 说明 |
| for…end | 值格式 initval:endval initval:step:endval valArray |
| while…end |
|
|
|
|
break:终止循环
continue:跳出当前循环,继续下一次循环。