MATLAB

第 1 章 用户界面1.1 科学计算概述1.1.1 发展历程1.1.2 系统1.1.3 特点1.2 工作界面1.2.1 标题栏1.2.2 功能区1.2.3 工具栏1.2.4 命令行窗口1.2.5 历史记录窗口1.2.6 当前文件夹窗口1.2.7 工作区窗口1.2.8 图像窗口第 2 章 帮助系统2.1 内容及查找2.1.1 搜索路径2.1.2 扩展搜索路径2.2 帮助系统2.2.1 联机帮助系统2.2.2 帮助命令2.2.3 联机网络系统2.2.4 网络资源第 3 章 基础知识3.1 命令组成3.1.1 基本符号3.1.2 功能符号1. 快捷键2. 标点3.1.3 常用指令1. 常用操作命令2. 键盘操作技巧3.2 数据类型3.2.1 变量与常量1. 变量2. 常量3.2.2 数值1. 数值类型2. 显示格式3.3 运算符3.3.1 算术运算符3.3.2 关系运算符3.4 函数运算3.4.1 复数运算3.4.2 三角函数第 4 章 向量与多项式4.1 向量4.1.1 向量的生成4.1.2 向量的引用4.1.3 向量运算4.2 多项式4.2.1 多项式的创建4.2.2 数值多项式的运算4.3 特殊变量4.3.1 单元型变量4.3.2 结构型变量第 5 章 矩阵运算5.1 矩阵5.1.1 矩阵定义5.1.2 矩阵生成5.1.3 特殊矩阵5.1.4 矩阵元素运算5.2 矩阵数学运算5.2.1 加减5.2.2 乘法5.2.3 除法5.3 矩阵运算5.3.1 幂函数5.3.2 逆矩阵5.3.3 条件数5.3.4 范数5.4 矩阵分解5.4.1 楚列斯基分解5.4.2 LU 分解5.4.3 LDM 与 LDL 分解5.4.4 QR 分解5.4.5 SVD 分解5.4.6 舒尔分解5.4.6 海森伯格分解5.5 方程组的求解第 6 章 二维绘图6.1 二维绘图6.1.1 plot 绘图命令6.1.2 fplot 绘图命令6.2 其它坐标系下绘图6.2.1 极坐标系6.2.2 半对数坐标系6.2.3 双对数坐标系6.2.4 双 y 轴坐标6.3 图形窗口6.3.1 图形窗口的创建6.3.2 工具条的使用第 7 章 图形标注7.1 图形属性设置7.1.1 坐标系与坐标轴7.1.2 图形注释1. 填充图形2. 注释图形标题及轴名称2.1 title 命令2.2 xlabel 命令3. 图形标注4. text 命令5. gtext 命令6. 图例标注(legend)7. 分割线控制(grid)7.2 特殊图形7.2.1 统计图形1. 条形图1.1 竖直:bar1.2 水平:barh1.3 三维竖直:bar31.4 三维水平:bar3h2. 面积图2.1 area 命令3. 饼图3.1 pie 命令4. 柱状图4.1 histogram 命令4.2 polarhistogram 命令7.2.2 离散数据图形1. 误差棒图1.1 errorbar 命令2. 火柴杆图2.1 stem 命令2.2 stem3 命令3. 阶梯图3.1 stairs 命令7.2.3 向量图形1. 罗盘图1.1 compass 命令2. 羽毛图2.1 feather 命令3. 箭头图3.1 quiver 命令3.2 quiver3 命令第 8 章 三维绘图8.1 三维绘图8.1.1 三维曲线1. plot3 命令2. fplot3 命令8.1.2 三维网格1. mesh 命令1.1 mesh1.2 meshgrid1.3 hiden1.4 meshc1.5 meshz2. fmesh 命令8.1.3 三维曲面1. surf 命令1.1 surf1.2 surfc1.3 surfl2. fsurf 命令8.1.4 柱面与球面1. cylinder2. sphere8.1.5 三维图形等值线1. contour3 命令2. contour 命令3. contourf 命令4. contourc 命令5. clabel 命令6. fcontour 命令8.2 修饰处理8.2.1 视角处理1. view8.2.2 颜色处理1. 色图明暗控制指令1.1 brighten2. 色轴刻度2.1 caxis2.2 colorbar3. 颜色渲染设置3.1 shading4. 颜色映像使用4.1 colormap8.2.3 光照处理1. 带光照模式的三维曲面1.1 surfl2. 光源位置即照明模式2.1 lightangle 光源位置2.2 lighting 照明模式8.3 图像处理及动画演示8.3.1 图像的读写1. 图像读入命令1.1 imread 命令2. 图像写入命令2.1 imwirte 命令8.3.2 图像的显示即信息查询1. 图像显示命令1.1 image 命令1.2 imagesc 命令1.3 imshow 命令2. 图像信息查询2.1 imfinfo 命令8.3.3 动画演示1. moviein 命令2. getframe 命令3. movie 命令8.4 综合实例8.4.1 surf 颜色与光照处理实例8.4.2 绘制云图、修改配色1. 测试与比较2. 最终方案:3. 实例第 9 章 程序设计9.1 M 文件9.1.1 命令文件9.1.2 函数文件9.2 程序设计9.2.1 程序结构1. 顺序结构1.1 disp 输出1.2 fprintf 输出2. 循环结构2.1 for-end 循环2.2 while-end 循环3. 分支结构3.1 if-else-end 结构3.2 switch-case-end 结构3.3 try-catch-end 结构9.2.2 流程控制1. break 命令2. pause 命令3. continue 命令4. return 命令5. echo 命令6. warning 命令7. error 命令9.2.3 交互式输入1. input 命令2. keyboard 命令3. menu 命令9.2.4 程序调试1. 系统提示2. 使用断点2.1 设置断点2.2 清除断点2.3 列出全部断点2.4 从断点处执行程序2.5 断点的调用关系2.6 进入与推出调试模式9.3 函数句柄9.3.1 创建与显示9.3.2 调用与操作第 10 章 矩阵分析10.1 特征值与特征向量10.1.1 标准特征值与特征向量1. eig 命令2. balance 命令3. poly 命令10.1.2 广义特征值与特征向量1. eig 命令10.1.3 部分特征值问题1. eigs 命令2. sigma 取值10.2 矩阵对角化10.2.1 预备知识10.2.2 具体操作10.3 若尔当标准形10.3.1 若尔当标准形介绍10.3.2 Jordan 命令10.4 矩阵的反射与旋转变换10.4.1 两种变换介绍10.4.2 豪斯霍尔德反射变换10.4.3 吉文斯旋转变换10.5 综合实例第 11 章 符号运算11.1 符号与数值11.1.1 符号与数值间的转换11.1.2 符号表达式与数值表达式11.2 符号矩阵11.2.1 符号矩阵的创建11.2.2 符号矩阵的其它运算11.2.3 符号多项式的简化1 因式分解 (factor)2 符号矩阵的展开 (expand)3 符号简化 (simplify)4 分式通分 (numden)5 秦九韶型 (horner)11.3 综合实例第 12 章 数列与极限12.1 数列12.1.1 数列求和12.1.2 数列求积12.2 极限和导数12.2.1 极限12.2.2 导数12.3 级数求和12.3.1 有限项级数求和12.3.2 无穷级数求和12.4 综合实例第 13 章 积分13.1 积分13.1.1 定积分与广义积分13.1.2 不定积分13.2 多重积分13.2.1 二重积分13.2.2 三重积分13.3 泰勒展开13.3.1 泰勒定理13.3.2 MATLAB 实现方法13.4 傅里叶展开13.5 积分变换13.5.1 傅里叶积分变换13.5.2 傅里叶逆变换13.5.3 快速傅里叶变换13.5.4 拉普拉斯定理13.5.5 拉普拉斯逆变换13.6 综合实例第 14 章 方程求解第 15 章 微分方程15.1 微分方程15.2 常微分方程的数值解法15.2.1 欧拉方法15.2.2 龙格-库塔方法15.2.3 龙格-库塔方法解刚性15.3 偏微分方程15.3.1 介绍15.3.2 区域设置及网格化15.3.3 边界条件设置15.3.4 PDE 求解15.3.5 解特征值方程第 16 章 数据可视化分析16.1 样本控件16.2 数据可视化16.2.1 离散情况16.2.2 连续情况16.3 正交试验分析16.3.1 极差分析16.3.2 方差分析附录1. MATLAB 入门之旅摘要1.1 基本语法1.2 桌面管理1.3 数组类型1.4 等间距向量1.5 创建矩阵1.6 索引1.7 数组运算1.8 多个输出1.9 文档1.10 绘图1.11 使用表1.12 逻辑运算1.13 编程2. 数值类型2.1 创建数值变量2.2 在数值类型之间转换2.3 查询类型和值2.4 数值范围3. 文件处理3.1 读入数据3.1.1 fgetl3.1.2 fgets3.1.3 fread3.1.4 fileread3.1.5 readlines3.1.6 fscanf3.2 写入数据3.2.1 fprintf3.2.2 fwrite3.3 其它操作3.3.1 fopen3.3.2 fclose3.3.3 feof3.3.4 ferror3.3.5 fseek3.3.6 ftell3.3.7 frewind3. 随机数3.1 rand3.2 randn3.3 randi4. 取整函数4.1 round4.2 ceil4.3 floor4.4 fix5. 常用函数


第 1 章 用户界面

1.1 科学计算概述

1.1.1 发展历程

1.1.2 系统

  1. 桌面工具和开发环境

  2. 数学函数库

  3. 语言

  4. 图形处理

  5. 外部接口

1.1.3 特点

1.2 工作界面

1.2.1 标题栏

1.2.2 功能区

1.2.3 工具栏

1.2.4 命令行窗口

1.2.5 历史记录窗口

1.2.6 当前文件夹窗口

1.2.7 工作区窗口

1.2.8 图像窗口

 


第 2 章 帮助系统

2.1 内容及查找

2.1.1 搜索路径

2.1.2 扩展搜索路径

2.2 帮助系统

2.2.1 联机帮助系统

2.2.2 帮助命令

命令说明命令说明
lookfor搜索函数关键字exist变量检验函数
who内存变量列表whos内存变量详细信息
what目录中的文件列表which确定文件的位置

2.2.3 联机网络系统

2.2.4 网络资源

 


第 3 章 基础知识

3.1 命令组成

3.1.1 基本符号

3.1.2 功能符号

1. 快捷键

按键功能按键功能
Ctrl + 左移一个字Alt + Backspace删除到行尾
Ctrl + 右移一个字Esc清除一行
Ctrl + Enter运行脚本  

2. 标点

标点定义标点定义
[]矩阵定义{}单元数组
.域访问符%注释标记
!调用操作系统运算'字符串标记符
;不显示运算结果...续行号

 

3.1.3 常用指令

1. 常用操作命令

命令功能命令功能
cd显示或改变工作目录pwd显示当前路径
clf清楚图形窗口hold保持图形
diary日志文件load加载变量
dir显示当前目录下的文件pack整理内存碎片
echo命令行窗口信息显示开关path显示搜索目录
save保存内存变量type显示文件内容
warning警告disp输出

2. 键盘操作技巧

键盘按键说明键盘按键说明
重新调用前一行命令Home移动到行首
重新调用下一行命令End移动到行尾

 

3.2 数据类型

3.2.1 变量与常量

1. 变量

2. 常量

常量说明常量说明
ans默认变量pi圆周率
eps浮点运算相对精度inf无穷大
NaN / nan非数i(j)复数单位
realmin最小正浮点数realmax最大正浮点数

 

3.2.2 数值

1. 数值类型

 

2. 显示格式

调用格式说明调用格式说明
format short5位定点(默认)format long15位定点
format short e5位浮点format long e15位浮点
format short g自动选择format long g自动选择
format hex十六进制format bank美元美分
format rat有理数format +矩阵简记
format compact变量间没有空行format loose有空行

 

3.3 运算符

3.3.1 算术运算符

运算符定义运算符定义
/右除'共轭转置
\左除.'转置

3.3.2 关系运算符

运算符定义运算符定义
∼=不等于
and(a, b)or(a, b)
not(a)xor(a, b)异或
any(x)x0=0all(x)x=0

 

3.4 函数运算

3.4.1 复数运算

函数功能函数功能函数功能
absangle相角complex构造复数
real实部imag虚部conj共轭
unwrap调整相位isreal判断实数cplxpair排列复共轭对

3.4.2 三角函数

 


第 4 章 向量与多项式

注意:MATLAB 中矩阵元素 按列计数,从上到下,从左到右,下标和文件读取时均如此!

4.1 向量

4.1.1 向量的生成

 

4.1.2 向量的引用

 

4.1.3 向量运算

 

4.2 多项式

4.2.1 多项式的创建

 

4.2.2 数值多项式的运算

 

4.3 特殊变量

4.3.1 单元型变量

创建和引用

 

函数

函数说明函数说明
cell生成单元型变量cellfuncellfun('islogical', E)
celldispcelldisp(c), celldisp(c, 'name')cellplot用图形显示
num2cell数值 单元型变量deal输入输出处理
cell2struct单元型 结构型struct2cell结构型 单元型
iscell判断单元型reshape改变结构

 

4.3.2 结构型变量

创建和引用

 

函数

函数说明函数说明
struct创建isstruct判断
fieldnames得到属性名getfield得到属性值
setfield设定属性值rmfield删除属性
isfield判断cell2struct类型转换

 


第 5 章 矩阵运算

5.1 矩阵

5.1.1 矩阵定义

 

5.1.2 矩阵生成

 

5.1.3 特殊矩阵

函数说明函数说明
eye(n)n 阶单位矩阵ones(m, n)全1矩阵
eye(m, n)m×n 单位矩阵zeros(m, n)零矩阵
eye(size(A))同上rand(m, n)随机矩阵
compan(P)伴随矩阵diag(v)对角阵
hilb(n)Hilbert 矩阵magic(n)幻方
invhilb(n)Hilbert 逆矩阵sparse(A)稀疏矩阵

 

5.1.4 矩阵元素运算

1. 修改

 

2. 变维

 

3. 变向

命令说明命令说明
rot90(A)逆时针旋转 90rot90(A, k)旋转 k 次
fliplr(X)左右翻转filpdim(X, 1)左右翻转
flipud(X)上下翻转flipdim(X, 2)上下翻转

 

4. 抽取

命令说明命令说明
diag(X)主对角线tril(X)主下三角部分
diag(X, k)第 k 条主对角线tril(X, k)第 k 条对角线下面(包括)
diag(v)非方阵triu(X)主上三角部分
diag(v, k)非方阵triu(X, k)第 k 条对角线上面(包括)

 

5.2 矩阵数学运算

5.2.1 加减

A ± B

 

5.2.2 乘法

1. 数乘运算

2. 矩阵乘法

3. 点乘

 

5.2.3 除法

1. 左除

2. 右除

 

5.3 矩阵运算

5.3.1 幂函数

 

5.3.2 逆矩阵

实例:矩阵更新函数

 

5.3.3 条件数

 

5.3.4 范数

矩阵函数

函数说明函数说明
cond(A)条件数值diag()对角变换
conest(A)1-范数矩阵条件数值expm(A)矩阵指数 eA
det(A)行列式logm(A)对数运算
eig(A)特征值sqrtm(A)开方运算
inv(A)逆矩阵cdf2rdf(A)复数对角 实数矩阵
norm(A)欧式范数rref(A) 逐行递减阶梯矩阵
normest(A)欧式范数估值rsf2csf(A)实数块对角 复数...
rank(A)矩阵的秩rot90(A)矩阵旋转
orth(A)正交化fliplr(A)左右翻转
rcond(A)逆条件数值flipud(A)上下翻转
trace(A)矩阵的迹flipdim(A, dim)上下(左右)翻转
triu(A)上三角变换reshape(A, m, n)矩阵变维
tril(A)下三角变换funm(A, fun)矩阵函数

 

5.4 矩阵分解

5.4.1 楚列斯基分解

 

5.4.2 LU 分解

 

5.4.3 LDMT 与 LDLT 分解

5.4.4 QR 分解

 

5.4.5 SVD 分解

5.4.6 舒尔分解

5.4.6 海森伯格分解

 

5.5 方程组的求解

 


第 6 章 二维绘图

6.1 二维绘图

命令说明
hold on / off打开 / 关闭绘图保持命令
axis( [xmin, xmax, ymin, ymax] )调整坐标轴范围
sym xfplot 用于绘制函数符号图形
figure新建图层
close all关闭打开的 MATLAB 文件
clf()不关闭图形窗口,仅清除内容
grid on / off显示 / 隐藏分割线
box on / off坐标区是否紧密围绕数据

 

6.1.1 plot 绘图命令

1. plot(x)

2. 多图形显示

调用格式说明调用格式说明
subplot(m, n, p)当前窗口分割成 m×n 个视图区域,并指定第 p 个视图为当前视图subplot(m, n, p, 'replace')删除位置 p 处的现有坐标区并创建新坐标区
subplot(m, n, p, 'align')设置对齐subplot(m, n, ax)绘制至 ax 坐标区
subplot('Position', pos)pos = [left, bottom, width, height]subplot(···, Name, Value)设置属性值
ax = subplot(···)返回图形句柄subplot(ax)根据 ax 坐标区绘制
调用格式说明调用格式说明
tiledlayout(m ,n) tiledlayout('flow') 
tiledlayout(···, Name, Value) tiledlayout(parent, ···) 
t = tiledlayout(···)   
调用格式说明调用格式说明
nexttile切换至下一窗口nexttile(tilenum)切换至第 tilenum 个窗口
nexttile(span)span = [r c]nexttile(tlienum, span)设置坐标区大小范围
nexttile(t, ···)将 t 指定的分块图布局中防止坐标区对象ax = nexttile(···)返回坐标区

3. plot(x, y)

4. plot(x1, y1, x2, y2, ···)

5. plot(x, y, s)

6. plot(x1, y1, s1, ···)

 

6.1.2 fplot 绘图命令

可以使用 sym x

调用格式说明
fplot(f)f = @(x)sin(x)
fplot(f, lim)lim = [xmin, xmax]
fplot(f, lim, s)s 为 线型
fplot(f, lim, n)至少描出 n+1 个点
fplot(funx, funy)x = funx(t), y = funy(t), t 默认间隔 [-5, 5]
fplot(funx, funy, tinterval)tinterval = [tmin, tmax]
fplot(···, LineSpec)指定线条样式、标记符号、线条颜色
fplot(···, Name, Value)使用一个或多个 键值对
fplot(a, ···)绘制到由 ax 指定的轴中
fp = fplot(···)使用 FP 查询和修改特定行的属性
[X, Y] = fplot(f, lim, ···)返回横纵坐标值,不绘制图像

 

6.2 其它坐标系下绘图

6.2.1 极坐标系

调用格式说明
polarplot(theta, rho)theta 与 rho 为同型矩阵(向量)
polarplot(theta, rho, LineSpec)设置线性、标记符号、颜色

转换成直角坐标系

 

6.2.2 半对数坐标系

调用格式说明
semilogx(Y)若 Y 为复矩阵,则相当于 semilogx(real(Y), imag(Y))
semilogx(X1, Y1, ···)绘制 Y1 对 X1的图像
semilogx(X1, Y1, LineSpec, ···)设置线条样式
semilogx(···, 'ProrpertyName', PropertyValue, ···)设置属性值
semilogx(x, ···)在由 ax 指定的坐标区中创建线条
h = semilogx(···)返回 line 图形句柄向量,每条线对应一个句柄

 

6.2.3 双对数坐标系

loglog(x, y) 调用格式同上

 

6.2.4 双 y 轴坐标

调用格式说明
yyaxis left用左边的 y 轴画出数据图
yyaxis right用右边的 y 轴画出数据图
yyaxis(ax, ···)指定 ax 坐标区的活动侧为左或右

 

6.3 图形窗口

6.3.1 图形窗口的创建

调用格式说明
figure创建一个图形窗口
figure(n)创建编号为 n 的图形窗口
figure(f)将 f 作为当前图形窗口
f = figure(···)返回 Figure 对象
figure('PN', PV)设置属性名的属性值

其它命令

命令说明
set(n)返回此窗口所有图形的 属性名所有可能的属性值
get(n)返回此窗口所有图形的 属性名当前的属性值
close关闭图形窗口
clf()不关闭图形窗口,仅清除内容
clf(rest)清除内容后,将除了位置和单位的所有属性设为 默认状态

 

6.3.2 工具条的使用

 

第 7 章 图形标注

7.1 图形属性设置

7.1.1 坐标系与坐标轴

调用格式说明
axis(limits) 
axis style设置轴范围和尺度,进行限制和缩放,如 normalequalimageimage filltight
axis mode设置是否自动选择范围,如 'auto x'
axis ydirection默认值为 manual
axis visibility默认值为 'on',即显示坐标区背景
lim = axis返回平面坐标系 / 三维坐标系 / 极坐标系 的范围
[m, v, d] = axis('state')返回坐标轴范围选择、做抱起可见性和 y 轴方向的当前设置
··· = axis(ax, ···)使用 ax 指定的坐标区或极坐标区
参数取值
mode'auto' 或 'manual' 或 'semiautomatic'
visibility'on' 或 'off'
ydirection‘xy' 或 'ij'

 

7.1.2 图形注释

1. 填充图形

调用格式说明
fill(X, Y, C)顶点颜色由向量或矩阵 C 指定。可以封闭或不封闭
fill(X, Y, ColorSpec)使用指定颜色填充
fill(X1, Y1, C1, ···)同上
fill(···, 'PN', PV)指定属性名和属性值
fill(ax, ···)在 ax 指定的坐标区中
h = fill(···)返回由补片对象构成的向量

 

2. 注释图形标题及轴名称

2.1 title 命令
调用格式说明
title('text')坐标轴上方正中央的标题
title(target, 'text')添加至指定的对象
title('text', 'PN', PV, ···)设置属性名的属性值
h = title(···)返回作为标题的 text 对象句柄

可以利用 gcfgca 获取当前图形窗口与当前坐标轴的句柄

2.2 xlabel 命令
调用格式说明
xlabel('string')在 x 轴上标注说明语句 string
xlabel(fname)由函数 fname 返回字符串后显示
xlabel('text', 'PN', PV)设置属性名的属性值

 

3. 图形标注

命令说明
text在图形具体部位标注
gtext在图形具体部位标注

 

4. text 命令

调用格式说明
text(x, y, 'string')在 (x, y) 处显示 string
text(x, y, z, 'string')在 (x, y, z) 处显示 string
text(x, y, z, 'string', 'PN', PV, ···)设置属性(可以使用 getset 查看)
text(ax, ···)在坐标区 ax 进行文本标注
t = text(···)返回一个或多个文本对象 t

 

5. gtext 命令

调用格式说明
gtext('string', 'PV', PV, ···)通过移动鼠标进行定位

 

6. 图例标注(legend)

调用格式说明
legend('string1', 'string2', ···, Pos)在当前坐标轴所给数据的每一部分显示一个图例
legend(subset, 'string1', 'string2', ···)仅在图例中包括 subset 中列出的数据序列的项
legend(labels)使用字符向量元宝数组、字符串数组或字符矩阵
legend(target, ···)在 target 指定的坐标区或图中添加图例
legend(vsbl)控制图例的可见性, vsbl 可设置为 hideshowtoggle
legend(bkgd)删图例背景和轮廓,默认值为 'boxon',即显示
legend('off')从当前的坐标轴中移除图例
legend为每个绘制的数据序列创建一个带有描述性标签的图例
legend(···, Name, Value)元胞数组指定标签后,用键值对设置图例属性
legend(···, 'Location', lcn)设置图例位置, 'Location' 包括 'north''south''northwest'
legend(···, 'Orientation', ornt)默认值为 'vertical',可设为 'horizontal'
lgd = legend(···)返回 Legend 对象
h = legend(···)返回图例的句柄向量

 

7. 分割线控制(grid)

调用格式说明
grid on / off显示主网格线
grid切换显示状态
grid minor次网格线
grid(target, ···)使用由 target 指定的坐标区域或图

 

7.2 特殊图形

7.2.1 统计图形

1. 条形图

1.1 竖直:bar
1.2 水平:barh
1.3 三维竖直:bar3
1.4 三维水平:bar3h
调用格式说明
bar(y)y 可为向量或矩阵
bar(x, y)在递增的横坐标 x 上画出 y
bar(···, width)设置条形的相对宽度及间距,默认为 0.8,若为 1 则相互接触
bar(···, 'style')排列类型,默认为 'group',可选 'stack'
bar(···, color)用指定的颜色显示
bar(ax, ···)绘制至 ax 坐标区中
b = bar(···)返回一个或多个 Bar 对象

 

2. 面积图

2.1 area 命令
调用格式说明
area(Y)堆叠显示曲线
area(X, Y)X需要递增
area(···, basevalue)指定区域填充的基值,默认为 0
area(···, Name, Value)使用一个或多个键值对
area(ax, ···)绘制至 ax 坐标区
ar = area(···)返回一个或多个 Area 对象

 

3. 饼图

3.1 pie 命令
调用格式说明
pie(X)若 sum(X) < 1,则画出一个不完整的饼形图
pie(X, explode)将扇区从饼图便宜一定位置,explode 是与 X 同型的矩阵
pie(X, labels)指定文本标签,标签数等于 X 的数据元素个数
pir(X, explode, labels)同上
pie(ax, ···)绘制至 ax 坐标区
p = pie(···)返回一个由补片和文本图形对象组成的向量

 

4. 柱状图

4.1 histogram 命令
调用格式说明
histogram(X)使用均匀宽度的 bin 涵盖 X 中元素范围
histogram(X, nbins)使用标量 nbins 指定 bin 的数量
histogram(X, edges)将 X 划分到由向量 edges 指定 bin 边界的 bin 内
histogram('BinEdges', edges, 'BinCounts', counts)指定 bin 边界和关联的 bin 计数
histogram(C)通过分裂数组 C 中的每个了捏绘制一个条形来绘制柱状图
hisogram(C, Categories)仅绘制 Categories 指定的类别的子集
histogram('Categories', Categories, 'BimCounts', counts)指定类别和关联的 bin 计数
histogram(···, Name, Value)设置属性值
histogram(ax, ···)绘制到指定的坐标区中
h = histogram(···)返回 Histogram 对象
4.2 polarhistogram 命令
调用格式说明
polarhistogram(theta) 
polarhistogram(theta, nbins) 
polarhistogram('BinEdges', edges, 'BinCounts', counts) 
polarhistogram(···, Name, Value) 
polarhistogram(pax, ···) 
h = polarhistogram(···) 

 

7.2.2 离散数据图形

1. 误差棒图

1.1 errorbar 命令
调用格式说明
errorbar(y, err)err 确定数据点上方和下方的每个误差条的长度
errorbar(x, y, err)在每个数据点处绘制一个垂直误差条
errorbar(···, ornt)设置误差条的方向,默认为 'vertical',可设为 'horizontal''both'
errorbar(x, y, neg, pos)neg 确定数据点下方的长度,pos 确定上方的长度
errorbar(x, y, yneg, ypos, xneg, xpos)同上
errorbar(···, LineSpec)指定线型、标记符、颜色等
error(···, Name, Value)设置属性值
errorbar(ax, ···)绘制至 ax 坐标区

 

2. 火柴杆图

2.1 stem 命令
2.2 stem3 命令

 

3. 阶梯图

3.1 stairs 命令

 

7.2.3 向量图形

1. 罗盘图

1.1 compass 命令

2. 羽毛图

2.1 feather 命令

3. 箭头图

3.1 quiver 命令
3.2 quiver3 命令

 

第 8 章 三维绘图

8.1 三维绘图

命令说明
plot3、fplot3三维曲线
mesh、meshgrid、meshc、meshz网格图
surf、surfc、surfl、fsurf三维曲面
cylinder、sphere柱面与球面
contour3、contour、contourf、contourc、fcontour等值线

 

8.1.1 三维曲线

1. plot3 命令

2. fplot3 命令

 

8.1.2 三维网格

1. mesh 命令

若 x、y、z 均为行向量,

可以通过 scatter3(x, y, z, 1, z, 'filled')

也可以用 meshc([x', x'], [y', y'], [z', z'], [z', z']).

1.1 mesh
调用格式说明
mesh(X, Y, Z)Z 为矩阵,X 和 Y 为向量或矩阵
mesh(Z)[m, n] = size(Z), X = 1 : m, Y = 1 : n
mesh(Z, c)指定颜色
mesh(ax, ···)指定坐标区 ax
mesh(···, 'PN', PV)设置属性值
h = mesh(···)返回图形对象句柄
1.2 meshgrid
调用格式说明
[X, Y] = meshgrid(x, y)X 为矩形分割点的横坐标值矩阵
[X, Y] = meshgrid(X)即 [X, Y] = meshgrid(x, x)
[X, Y, Z] = meshgrid(x, y, z)同上
[X, Y, Z] = meshgrid(x)即 [X, Y, Z] = meshgrid(x, x, x)
1.3 hiden
调用格式说明
hidden on将网格设为不透明
hidden off设为透明状态
hidden在上述模式中切换
hidden(ax, ···)修改 ax 指定的坐标区
1.4 meshc

画网格图与等高线图

1.5 meshz

画网格图与零平面的网格图

 

2. fmesh 命令

调用格式说明
fmesh(f)默认区间为 [-5, 5]
fmesh(f xyinterval)xyinterval = [min, max] 或 [xmin, xmax, ymin, ymax]
fmesh(funx, funy, funz)x = funx(u, v), y = funy(u, v), z = funz(u, v)
fmesh(funx, funy, funz, uvinterval)同上
fmesh(···, LineSpec)设置网格的线型、标记符号、颜色
fmesh(···, Name, Value)设置属性值
fmesh(ax, ···)绘制至 ax 而非 gca
fs = fmesh(···)返回 FunctionSurface 或 ParameterizedFunctionSurface 对象

 

8.1.3 三维曲面

1. surf 命令

1.1 surf

用法同mesh

1.2 surfc

含基本等高线

1.3 surfl

有亮度的曲面图

 

2. fsurf 命令

 

8.1.4 柱面与球面

1. cylinder

调用格式说明
[X, Y, Z] = cylinder(r, n)半径为 r、高度为 1 的圆柱体的坐标轴坐标值,圆柱体的圆周有指定 n 个距离相同的点
[X, Y, Z] = cylinder(r)即 [X, Y, Z] = cylinder(r, 20)
[X, Y, Z] = cylinder即 [X, Y, Z] = cylinder(1, 20)
cylinder(axes_handle, ···)绘制到带有句柄 axes_handle 的坐标区中
cylinder(···)直接画出圆柱体,无输出产量

cylinder(r, n) 可以绘出 n 棱柱

2. sphere

调用格式说明
sphere(n)画出由 n×n 个面组成的球面
sphere即 sphere(20)
sphere(ax, ···)绘制到 ax 坐标区中
[X, Y, Z] = sphere(···)X,Y,ZR(n+1)×(n+1)

 

8.1.5 三维图形等值线

1. contour3 命令

调用格式说明
contour3(Z)绘制等值线
contour3(X, Y, Z)指定 X 和 Y 的坐标
contour3(···, levels)在 levels 个自动选择的层级上显示等高线
contour3(···, LineSpec)指定线型和颜色
contour3(···, Name, Value)设置属性值
contour3(ax, ···)绘制至 ax 坐标区
M = contour3(···)返回包含每个层级顶点的坐标等高线矩阵
[M, c] = contour(···)并返回等高线对象 c

 

2. contour 命令

三维曲面向 x-y 平面投影的图像

 

3. contourf 命令

填充二维等值曲线图

 

4. contourc 命令

计算等值曲线矩阵 C,该矩阵可用于命令 contour、contour3、contourf

 

5. clabel 命令

添加高度标签

调用格式说明
clabel(C, h)C 为等高矩阵
clabel(C, h, v)在指定高度 v 上显示标签 h
clabel(C, h, 'manual')手动设置标签(左键或空格)
t = clabel(C, h, 'manual')返回创建的文本对象
claebl(C)在随机位置添加标签
clabel(C, v)在给定的位置 v 上显示标签
clabel(C, 'manual')通过鼠标给等高线贴标签
tl = clabel(···)返回创建的文本和线条对象
clabel(···, Name, Value)修改标签外观

 

6. fcontour 命令

调用格式说明
fcontour(f)绘制符号函数 f(x,y)
fcontour(f, xyinterval)在区域 xyinterval 内的三维曲面
fcontour(···, LineSpec)设置线型和颜色
fcontour(···, Name, Value)指定线条的属性
fcontour(ax, ···)绘制至 ax 坐标区,而不是 gca
fc = fcontour(···)返回 FunctionContour 对象

 

8.2 修饰处理

8.2.1 视角处理

1. view

调用格式说明
view(az, el)方位角 az 与仰角 el
view(v)v = [az, el] 或 v = [x, y, z]
view(dim)对二维或三维绘图使用默认视角
view(ax, ···)指定目标坐标区的视角
[az, el] = view(···)返回方位角和仰角

 

8.2.2 颜色处理

1. 色图明暗控制指令

1.1 brighten
调用格式说明
brighten(beta)增强色图的色彩强度 beta,-1 < beta < 1
brighten(map, beta)指定为 map 的颜色图
newmap = brighten(···)返回新的色图
brighten(f, beta)变换为图窗 f 指定的颜色图的强度,其它图形对象的颜色也会受到影响

 

2. 色轴刻度

2.1 caxis
调用格式说明
caxis([cmin, cmax])设置颜色的刻度
caxis('auto')自动计算颜色范围(默认)
caxis('manual')冻结当前颜色坐标轴的刻度范围。hold 设置为 on 时,后面的图形命令使用相同的颜色范围
caxis(tarfet, ···)为特定坐标区或图设置颜色图范围
v = caxis返回当前颜色范围,v = [cmin, cmax]
2.2 colorbar
调用格式说明
colorbar在右侧显示垂直色轴
colorbar(location)在特定位置显示色轴
colorbar(···, Name, Value)修改色轴外观
c = colorbar(···)返回一个指向色轴的句柄
colorbar('off')删除当前坐标区或图的所有色轴
colorbar(target, ···)在 target 指定的坐标区或图添加

 

3. 颜色渲染设置

3.1 shading
调用格式说明
shading flat每一条线段与每一小面有相同的颜色
shading faceted用重叠的黑色网格线来达到渲染的效果
shading interp通过插值显示不同的颜色
shading(axes_handle, ···)将着色类型应用于 axes_handle

 

4. 颜色映像使用

4.1 colormap

 

8.2.3 光照处理

1. 带光照模式的三维曲面

1.1 surfl
调用格式说明
surfl(Z)生成三维带阴影曲面
surfl(X, Y, Z)默认光源:从当前视角逆时针转 45
surfl(···, 'light')用 MATLAB 光照对象 (light obbject) 生成
surfl(···, s)指定光源与曲面之间的方位 s
surfl(X, Y, Z, s, k)k = [ka, kd, ks, shine] = [0.55, 0.6, 0.4, 10]
surfl(ax, ···)绘制至 ax 坐标区
h = surfl(···)返回曲面图形句柄向量 h

环境光系数 ka、漫反射系数 kb、镜面反射系数 ks、镜面反射亮度 shine

 

2. 光源位置即照明模式

2.1 lightangle 光源位置
调用格式说明
lightangle(az, el)方位角 az,仰角 el
lightangle(ax, az, el)在 ax 指定的坐标区上
light_handle = lightangle(···)返回 light 句柄
lightangle(light_handle, az, el)设置至 light_angle
[az, el] = lightangle(light_handle)返回由 light_angle 确定的视角
2.2 lighting 照明模式
调用格式说明
lighting flat每个面上产生均匀分布的光照
lighting gouraud计算顶点法向量并在各个面中线性插值
lighting none关闭光源
lighting(ax, ···)设置至 ax 坐标区

 

8.3 图像处理及动画演示

8.3.1 图像的读写

1. 图像读入命令

1.1 imread 命令
命令格式说明
A = imread(filename)从 filename 内容推断文件的格式
A = imread(filename, fmt)指定格式为 fmt
A = imread(···, idx)读取多帧图像的 idx 帧
A = imread(···, Name, Value)指定特定于格式的选项
[A, map] = imread(···)将索引图像读入 A,颜色图读入 map [0,1]
[A, map, alpha] = imread(···)返回透明度 alpha

 

2. 图像写入命令

2.1 imwirte 命令
命令格式说明
imwrite(A, filename)从扩展名推断文件格式
imwrite(A, map, filename)同时写入颜色映像矩阵
imwrite(···, Name, Value)指定文件输出的其它参数
imwrite(···, fmt)以指定的 fmt 格式写入

可以一次转换图片格式

默认保存方式为 unit8 的数据类型。

若图像矩阵是 double 型,则写入前应进行偏置,unit8(X-1)

 

8.3.2 图像的显示即信息查询

1. 图像显示命令

1.1 image 命令
命令格式说明
image(C)将矩阵 C 中的值以图像形式显示出来
image(x, y, C)指定图像位置,其中 x、y 定义了 x、y轴范围
image(···, Name, Value)在绘制图像前需要调用 newplot 命令
image(ax, ···)在 ax 坐标区创建图像
handle = image(···)返回生成图像对象的句柄
1.2 imagesc 命令

可以自动调整至于范围

命令格式说明
imagesc(C)将矩阵 C 中的值以图像形式显示出来
imagesc(x, y, C)指定图像位置,其中 x、y 定义了 x、y轴范围
imagesc(···, Name, Value)指定图像属性
imagesc(···, clims)二维向量 clims 限制了 C 中元素的取值范围
imagesc(ax, ···)在 ax 坐标区床架泥土香
h = imagesc(···)返回生成图像对象的句柄
1.3 imshow 命令
命令格式说明
imshow(I)显示灰度图像 I
imshow(I, [low, high])值域为 [low, high]
imshow(RGB)显示真彩色图像
imshow(BW)显示二进制图像
imshow(X, map)显示索引色图像,X为图像矩阵,map 为调色板
imshow(filename)显示 filename 文件中的图像
himage = imshow(···)返回所生成图像对象的句柄
imshow(···, Name, Value)根据参数与值显示图像

 

2. 图像信息查询

2.1 imfinfo 命令
命令格式说明
info = imfinfo(filename)查询图像文件 filename 的信息
info = imfinfo(filename, fmt)指定格式为 fmt

 

8.3.3 动画演示

1. moviein 命令

2. getframe 命令

3. movie 命令

e.g. 球体旋转

e.g. 正弦函数

 

8.4 综合实例

8.4.1 surf 颜色与光照处理实例

8.4.2 绘制云图、修改配色

1. 测试与比较

2. 最终方案:

3. 实例

 

 

第 9 章 程序设计

9.1 M 文件

9.1.1 命令文件

又称脚本文件

 

9.1.2 函数文件

 

9.2 程序设计

9.2.1 程序结构

1. 顺序结构

1.1 disp 输出
1.2 fprintf 输出

 

2. 循环结构

2.1 for-end 循环
2.2 while-end 循环

3. 分支结构

3.1 if-else-end 结构
3.2 switch-case-end 结构
3.3 try-catch-end 结构

 

9.2.2 流程控制

1. break 命令

2. pause 命令

调用格式说明
pause按下任意键后继续执行
pause(n)暂停 n 秒
pause(state)启用、禁用或显示当前暂停设置,如 'on''off'
oldState = pause(state)返回当前暂停设置

3. continue 命令

4. return 命令

5. echo 命令

调用格式说明
echo on / off显示 / 不显示 M 文件执行过程
echo切换显示模式
echo FileName on / off对 FileName.m 文件设置
echo FileName同上
echo on / off all显示 / 关闭 所有函数文件执行过程

6. warning 命令

调用格式说明
warning('message')显示警告信息 'message'
warning('message', a1, a2, ···)格式化字符串,包含转义字符
warning(msgID, ···)将警告标识符附加值警告消息
warning(state)启用、禁用或显示所有警告消息
warning(state, msgID)处理注定警告的状态
warnStruct = warning返回启用或禁用的信息
warning(warnStruct)设置当前警告设置
warning(state, mode)是否显示堆栈跟踪或有关警告的其它信息
warnStruct = warning(state, mode)返回包含 mode 的 identifier 字符串和 state 字段

 

7. error 命令

调用格式说明
error('message')终止程序并显示 'message'
error('message', a1, a2)格式字符串,包含转义字符
error(msgID, ···)包含错误标识符
error(errorStruct)使用标量结构体的字段抛出错误
error(correction, ···)为异常提供建议修复

 

9.2.3 交互式输入

1. input 命令

调用格式说明
s = input('message')若无输入,则返回空矩阵
s = input('message', 's')将输入信息以 字符串 的形式赋给 s

 

2. keyboard 命令

命令说明
keyboard使文件停止执行并将控制权交给键盘
dbcont返回原命令行窗口

 

3. menu 命令

k = menu('mtitle', 'opt1', 'opt2',...)

 

9.2.4 程序调试

1. 系统提示

2. 使用断点

2.1 设置断点
调用格式说明
dbstop in mfile在 mfile.m 第一个可执行代码位置设置断点
dbstop in mfile at LineNo在第 LineNo 行设置断点
dbstop in file if expression如果表达式为真,则设置断点
dbstop if condition在满足指定的 condition (如 error 或 naninf) 处暂停执行
dbstop(b)恢复之前保存到 b 的断点

 

2.2 清除断点
调用格式说明
dbclear all清除所有 M 文件所有断点
dbclear in mfile清除 mfile.m 的第一个断点
dbclear in mfile at LineNo清除第 LineNo 行的断点
dbclear if condition如 error、naninf、infna、warning

 

2.3 列出全部断点
调用格式说明
dbstatus列出包括错误、警告、naninf 在内的所有断点
dbstatus mfile列出 mfile.m 中的所有断点
dbstatus -completenames为每个断点显示所在函数或文件的 完全限定名
dbstatus file -completenames在指定文件中显示完全限定名
b = dbstatus(···)m×1 结构体形式返回断点信息,可通过 dbstop(b) 还原

 

2.4 从断点处执行程序
调用格式说明
dbstep执行断点的下一行
dbstep N执行断点的后 N 行
dbstep in进入调用的 M 文件。若没有调用,则与destep相同
dbstep out运行当前函数的其余代码,并在退出函数后立即暂停

 

2.5 断点的调用关系
调用格式说明
dbstack显示断点处的调用函数名及行号
dbstack(n)在显示中省略前 n 个堆栈帧
dbstack(···, '-competenames')显示完全限定名
ST = dbstack(···)m×1 结构体 ST 返回堆栈跟踪信息
[ST, I] = dbstack(···)用 I 返回当前的工作空间索引

 

2.6 进入与推出调试模式

 

9.3 函数句柄

9.3.1 创建与显示

函数类型说明
functions(fun_handle)显示函数句柄的信息
simple未加载的 MATLAB 内部函数、M 文件,或至在执行过程才能用 type() 显示内容的函数
subfunctionMATLAB 子函数
privateMATLBA 局部函数
constructorMALAB 类的创建函数
overloaded加载内部函数或 M 文件

 

9.3.2 调用与操作

e.g.

 

第 10 章 矩阵分析

10.1 特征值与特征向量

10.1.1 标准特征值与特征向量

1. eig 命令

2. balance 命令

3. poly 命令

 

10.1.2 广义特征值与特征向量

1. eig 命令

Ax=λBx.

 

10.1.3 部分特征值问题

1. eigs 命令

2. sigma 取值

取值说明
'lm'按模最大的 k 个特征值
'sm'按模最小的 k 个特征值
'a'对实对称问题求 k 个最大特征值
'sa'对实对称问题求 k 个最小特征值
'lr'非实对称和复数问题, 最大实部
'sr'非实对称和复数问题, 最小实部
'li'非实对称和复数问题, 最大虚部
'lr'非实对称和复数问题, 最小虚部

 

10.2 矩阵对角化

10.2.1 预备知识

10.2.2 具体操作

10.3 若尔当标准形

10.3.1 若尔当标准形介绍

10.3.2 Jordan 命令

10.4 矩阵的反射与旋转变换

10.4.1 两种变换介绍

10.4.2 豪斯霍尔德反射变换

10.4.3 吉文斯旋转变换

10.5 综合实例

 

第 11 章 符号运算

11.1 符号与数值

11.1.1 符号与数值间的转换

调用格式说明
[output1, ···, outputN] = eval(expression)如果需要在表达式中包含数值, 则使用 int2str, num2str 或 sprintf
subs(s)数值转为符号
sub(s, new)输入 new 变量
sub(s, old, new)将 old 变量替换为 new 变量

 

11.1.2 符号表达式与数值表达式

设置精度

调用格式说明
digits(D)设置有效数字为 D
d1 = digits返回 vpa 当前使用的精度
d1 = digits(d)设置新的精度 d, 并返回旧精度
vpa(x)利用可变精度浮点运算 (vpa) 计算符号表达式 x 每个元素, 计算结果至少 32 个有效数字
vpa(x, d)设置有效数字为 d

 

11.2 符号矩阵

11.2.1 符号矩阵的创建

 

11.2.2 符号矩阵的其它运算

11.2.3 符号多项式的简化

1 因式分解 (factor)

2 符号矩阵的展开 (expand)

3 符号简化 (simplify)

4 分式通分 (numden)

5 秦九韶型 (horner)

 

11.3 综合实例

 

第 12 章 数列与极限

12.1 数列

12.1.1 数列求和

  1. sum

  1. nansum

  2. cumsum: 求此元素位置之前的元素和

  3. sumtrapz: 求梯形累计和

12.1.2 数列求积

  1. prod

  2. cumprod: 累计积函数

  3. factorial: 阶乘函数

  4. gamma: 伽马函数

12.2 极限和导数

12.2.1 极限

命令说明
limit(f, x, a)limit(f, a)limxaf(x).
limit(f)limx0f(x).
limit(f, x, a, 'right')右极限.

12.2.2 导数

命令说明
Y = diff(X)求相邻元素间的差分.
Y = diff(X, n)n 阶差分.
Y = diff(X, n, dim)沿 dim 维度.

 

12.3 级数求和

12.3.1 有限项级数求和

命令说明
F = symsum(f, k)返回级数 f 关于指数 k 有限项和.
F = symsum(f, k, a, b)ab 的有限项和.

 

12.3.2 无穷级数求和

 

12.4 综合实例

 

第 13 章 积分

13.1 积分

13.1.1 定积分与广义积分

命令说明
int(f, a, b)定积分
int(f, x, a, b) 

 

13.1.2 不定积分

int(f)

int(f, x)

 

13.2 多重积分

13.2.1 二重积分

q = integral2(fun, xmin, xmax, ymin, ymax);

求交点 A = fzero('2*x-0.5*x', 0).

13.2.2 三重积分

13.3 泰勒展开

13.3.1 泰勒定理

13.3.2 MATLAB 实现方法

taylor(f, m, a)

13.4 傅里叶展开

13.5 积分变换

13.5.1 傅里叶积分变换

13.5.2 傅里叶逆变换

13.5.3 快速傅里叶变换

13.5.4 拉普拉斯定理

13.5.5 拉普拉斯逆变换

13.6 综合实例

 

第 14 章 方程求解

 

第 15 章 微分方程

15.1 微分方程

函数

e.g. 微分方程组

e.g. 求特解, 并绘图

 

15.2 常微分方程的数值解法

15.2.1 欧拉方法

 

15.2.2 龙格-库塔方法

15.2.3 龙格-库塔方法解刚性

15.3 偏微分方程

15.3.1 介绍

15.3.2 区域设置及网格化

15.3.3 边界条件设置

15.3.4 PDE 求解

15.3.5 解特征值方程

 

第 16 章 数据可视化分析

16.1 样本控件

16.2 数据可视化

16.2.1 离散情况

16.2.2 连续情况

16.3 正交试验分析

16.3.1 极差分析

16.3.2 方差分析

 

附录

1. MATLAB 入门之旅摘要

1.1 基本语法

示例说明
x = pi使用等号 (=) 创建变量。 左侧 (x) 是变量的名称,其值为右侧 (pi) 的值。
y = sin(-5)您可以使用括号提供函数的输入。

1.2 桌面管理

函数示例说明
savesave data.mat将当前工作区保存到 MAT 文件中。
loadload data.mat将 MAT 文件中的变量加载到工作区。
clearclear清除工作区中的所有变量。
clcclc清除命令行窗口中的所有文本。
formatformat long更改数值输出的显示方式。

1.3 数组类型

示例说明
4标量
[3 5]行向量
[1;3]列向量
[3 4 5;6 7 8]矩阵

1.4 等间距向量

示例说明
1:4使用冒号 (:) 运算符,创建一个从 14,间距为 1 的向量。
1:0.5:4创建一个从 14,间距为 0.5 的向量。
linspace(1,10,5)创建一个包含 5 个元素的向量。这些值从 110 均匀间隔。

1.5 创建矩阵

示例说明
rand(2)创建一个 22 列的方阵。
zeros(2,3)创建一个 23 列的矩形矩阵。

1.6 索引

示例说明
A(end,2)访问最后一行的第二列中的元素。
A(2,:)访问第二行所有元素。
A(1:3,:)访问前三行的所有列。
A(2) = 11将数组中第二个元素的值更改为 11

1.7 数组运算

示例说明
[1 1; 1 1]*[2 2;2 2] ans = 4 4 4 4执行矩阵乘法
[1 1; 1 1].*[2 2;2 2] ans = 2 2 2 2执行按元素乘法

1.8 多个输出

示例说明
[xrow,xcol] = size(x)x 中的行数和列数保存为两个不同变量。
[xMax,idx] = max(x)计算 x 的最大值及其对应的索引值。

1.9 文档

示例说明
doc randi打开 randi 函数的文档页。

1.10 绘图

示例说明
plot(x,y,"ro-","LineWidth",5)绘制一条红色 (r) 虚线 (--) 并使用圆圈 (o) 标记,线宽很大。
hold on在现有绘图中新增一行。
hold off为下一个绘图线条创建一个新坐标区。
title("My Title")为绘图添加标签。

1.11 使用表

示例说明
data.HeightYards从表 data 中提取变量 HeightYards
data.HeightMeters = data.HeightYards*0.9144从现有数据中派生一个表变量。

1.12 逻辑运算

示例说明
[5 10 15] > 12将向量与值 12 进行比较。
v1(v1 > 6)提取 v1 中大于 6 的所有元素。
x(x==999) = 1用值 1 替换 x 中等于 999 的所有值。

1.13 编程

示例说明
if x > 0.5 y = 3 else y = 4 end如果 x 大于 0.5,则将 y 的值设置为 3。 否则,将 y 的值设置为 4
for c = 1:3 disp(c) end循环计数器 (c) 遍历 值 1:3123)。 循环体显示 c 的每个值。

 

2. 数值类型

2.1 创建数值变量

命令说明字节
double双精度数组8
single单精度数组4
int88 位有符号整数数组1
int1616 位有符号整数数组2
int3232 位有符号整数数组4
int6464 位有符号整数数组8
uint88 位无符号整数数组1
uint1616 位无符号整数数组2
uint3232 位无符号整数数组4
uint6464 位无符号整数数组8

2.2 在数值类型之间转换

命令说明
cast将变量转换为不同的数据类型
typecast在不更改基础数据的情况下转换数据类型

2.3 查询类型和值

命令说明
isinteger确定输入是否为整数数组
isfloat确定输入是否为浮点数组
isnumeric确定输入是否为数值数组
isreal确定数组是否使用复数存储
isfinite确定哪些数组元素为有限
isinf确定哪些数组元素为无限值
isnan确定哪些数组元素为 NaN

2.4 数值范围

命令说明
eps浮点相对精度
flintmax浮点格式的最大连续整数
Inf创建所有值均为 Inf 的数组
intmax特定整数类型的最大值
intmin指定整数类型的最小值
NaN创建所有值均为 NaN 的数组
realmax最大的正浮点数
realmin最小标准浮点数

 

3. 文件处理

3.1 读入数据

调用格式说明
fgel(fileID)读取一行,不包括换行符
fgets读取一行,包括换行符
fread(fileID, sizeA)读取 二进制文件 数据
fileread以文本格式读取文件内容
readlines(filename)以字符串数组形式读取文件行
A = fscanf(fileID, formatSpec, sizeA)读取文本文件中的数据
status = feof(fileID)检测文件末尾

注:对于文本文件,fscanf 格式化读取比较方便

3.1.1 fgetl

读取一行,不包括换行符

3.1.2 fgets

读取一行,包括换行符

3.1.3 fread

读取二进制文件数据

3.1.4 fileread

以文本格式读取文件内容

3.1.5 readlines

以字符串数组形式读取文件行

3.1.6 fscanf

读取文本文件中的数据

 

3.2 写入数据

3.2.1 fprintf

写入文本文件

3.2.2 fwrite

写入二进制文件

 

3.3 其它操作

3.3.1 fopen

3.3.2 fclose

3.3.3 feof

3.3.4 ferror

3.3.5 fseek

3.3.6 ftell

3.3.7 frewind

 

3. 随机数

3.1 rand

均匀分布的随机数字

3.2 randn

正态分布的随机数字

3.3 randi

均匀分布的伪随机整数

 

4. 取整函数

4.1 round

四舍五入,取最近的整数或小数

4.2 ceil

进一法(向 + 舍入)

4.3 floor

去尾法(向 舍入)

4.4 fix

0 舍入

 

5. 常用函数