1、MATLAB 的 简 介MATLAB 是 美 国 MathWorks 公 司 出 品 的 商 业 数 学 软 件 , 用 于 算 法 开 发 、 数 据 可 视 化、 数 据 分 析 以 及 数 值 计 算 的 高 级 技 术 计 算 语 言 和 交 互 式 环 境 , 主 要 包 括 MATLAB 和 Simulink 两 大 部 分 。MATLAB 是 矩 阵 实 验 室 ( Matrix Laboratory) 的 简 称 , 和 Mathematica、 Maple 并称 为 三 大 数 学 软 件 。 它 在 数 学 类 科 技 应 用 软 件 中 在 数 值 计 算 方 面 首 屈
2、 一 指 。 MATLAB 可 以进 行 矩 阵 运 算 、 绘 制 函 数 和 数 据 、 实 现 算 法 、 创 建 用 户 界 面 、 连 接 其 他 编 程 语 言 的 程 序 等, 主 要 应 用 于 工 程 计 算 、 控 制 设 计 、 信 号 处 理 与 通 讯 、 图 像 处 理 、 信 号 检 测 、 金 融 建 模 设计 与 分 析 等 领 域 。MATLAB 的 基 本 数 据 单 位 是 矩 阵 , 它 的 指 令 表 达 式 与 数 学 、 工 程 中 常 用 的 形 式 十 分 相似 , 故 用 MATLAB 来 解 算 问 题 要 比 用 C, FORTRAN
3、等 语 言 完 成 相 同 的 事 情 简 捷 得 多 ,并 且 mathwork 也 吸 收 了 像 Maple 等 软 件 的 优 点 ,使 MATLAB 成 为 一 个 强 大 的 数 学 软 件 。在 新 的 版 本 中 也 加 入 了 对 C, FORTRAN, C+ , JAVA 的 支 持 。 可 以 直 接 调 用 ,用 户 也 可以 将 自 己 编 写 的 实 用 程 序 导 入 到 MATLAB 函 数 库 中 方 便 自 己 以 后 调 用 , 此 外 许 多 的 MATLAB 爱 好 者 都 编 写 了 一 些 经 典 的 程 序 , 用 户 可 以 直 接 进 行 下
4、 载 就 可 以 用 。 编 辑 本 段 发 展 历 程20 世 纪 70 年 代 , 美 国 新 墨 西 哥 大 学 计 算 机 科 学 系 主 任 Cleve Moler 为 了 减 轻 学 生 编程 的 负 担 , 用 FORTRAN 编 写 了 最 早 的 MATLAB。 1984 年 由 Little、 Moler、 Steve Bangert 合 作 成 立 了 的 MathWorks 公 司 正 式 把 MATLAB 推 向 市 场 。 到 20 世 纪 90 年 代 , MATLAB 已 成 为 国 际 控 制 界 的 标 准 计 算 软 件 。版 本 更 新版本 4 建造编号
5、 发布时间MATLAB 1.0 1984 MATALB 2 1986MATLAB 3 1987MATLAB 3.5 1990MATLAB 4 1992MATLAB 4.2c R7 1994MATLAB 5.0 R8 1996MATLAB 5.1 R9 1997MATLAB 5.1.1 R9.1 1997MATLAB 5.2 R10 1998MATLAB 5.2.1 R10.1 1998MATLAB 5.3 R11 1999MATLAB 5.3.1 R11.1 1999MATLAB 6.0 R12 2000MATLAB 6.1 R12.1 2001MATLAB 6.5 R13 2002MATLA
6、B 6.5.1 R13SP1 2003MATLAB 6.5.2 R13SP2 2003MATLAB 7 R14 2004MATLAB 7.0.1 R14SP1 2004MATLAB 7.0.4 R14SP2 2005MATLAB 7.1 R14SP3 2005MATLAB 7.2 R2006a 2006MATLAB 7.3 R2006b 2006MATLAB 7.4R2007a 2007MATLAB 7.5 R2007b 2007MATLAB 7.6R2008a 2008MATLAB 7.7 R2008b 2008MATLAB 7.8 R2009a 2009.3.6MATLAB 7.9 R20
7、09b 2009.9.4编 辑 本 段 应 用MATLAB 产 品 族 可 以 用 来 进 行 以 下 各 种 工 作 : 数 值 分 析 数 值 和 符 号 计 算 工 程 与 科 学 绘 图 控 制 系 统 的 设 计 与 仿 真 数 字 图 像 处 理 技 术 数 字 信 号 处 理 技 术 通 讯 系 统 设 计 与 仿 真 财 务 与 金 融 工 程 MATLAB 的 应 用 范 围 非 常 广 , 包 括 信 号 和 图 像 处 理 、 通 讯 、 控 制 系 统 设 计 、 测 试 和 测量 、 财 务 建 模 和 分 析 以 及 计 算 生 物 学 等 众 多 应 用 领 域
8、。 附 加 的 工 具 箱 ( 单 独 提 供 的 专 用 MATLAB 函 数 集 ) 扩 展 了 MATLAB 环 境 , 以 解 决 这 些 应 用 领 域 内 特 定 类 型 的 问 题 。 编 辑 本 段 Matlab 的 优 势 和 特 点matlab 特 点此 高 级 语 言 可 用 于 技 术 计 算 此 开 发 环 境 可 对 代 码 、 文 件 和 数 据 进 行 管 理交 互 式 工 具 可 以 按 迭 代 的 方 式 探 查 、 设 计 及 求 解 问 题 数 学 函 数 可 用 于 线 性 代 数 、 统 计 、 傅 立 叶 分 析 、 筛 选 、 优 化 以 及 数
9、 值 积 分 等 二 维 和 三 维 图 形 函 数 可 用 于 可 视 化 数 据 各 种 工 具 可 用 于 构 建 自 定 义 的 图 形 用 户 界 面 各 种 函 数 可 将 基 于 MATLAB 的 算 法 与 外 部 应 用 程 序 和 语 言 ( 如 C、 C+、 Fortran、Java、 COM 以 及 Microsoft Excel) 集 成 2MATLAB 的 优 势( 1) 友 好 的 工 作 平 台 和 编 程 环 境MATLAB 由 一 系 列 工 具 组 成 。 这 些 工 具 方 便 用 户 使 用 MATLAB 的 函 数 和 文 件 , 其 中许 多 工
10、具 采 用 的 是 图 形 用 户 界 面 。 包 括 MATLAB 桌 面 和 命 令 窗 口 、 历 史 命 令 窗 口 、 编 辑 器和 调 试 器 、 路 径 搜 索 和 用 于 用 户 浏 览 帮 助 、 工 作 空 间 、 文 件 的 浏 览 器 。 随 着 MATLAB 的 商业 化 以 及 软 件 本 身 的 不 断 升 级 , MATLAB 的 用 户 界 面 也 越 来 越 精 致 , 更 加 接 近 Windows的 标 准 界 面 , 人 机 交 互 性 更 强 , 操 作 更 简 单 。 而 且 新 版 本 的 MATLAB 提 供 了 完 整 的 联 机 查询 、
11、帮 助 系 统 , 极 大 的 方 便 了 用 户 的 使 用 。 简 单 的 编 程 环 境 提 供 了 比 较 完 备 的 调 试 系 统 ,程 序 不 必 经 过 编 译 就 可 以 直 接 运 行 , 而 且 能 够 及 时 地 报 告 出 现 的 错 误 及 进 行 出 错 原 因 分 析。( 2) 简 单 易 用 的 程 序 语 言Matlab 一 个 高 级 的 矩 阵 /阵 列 语 言 , 它 包 含 控 制 语 句 、 函 数 、 数 据 结 构 、 输 入 和 输 出和 面 向 对 象 编 程 特 点 。 用 户 可 以 在 命 令 窗 口 中 将 输 入 语 句 与 执
12、行 命 令 同 步 , 也 可 以 先 编 写好 一 个 较 大 的 复 杂 的 应 用 程 序 ( M 文 件 ) 后 再 一 起 运 行 。 新 版 本 的 MATLAB 语 言 是 基 于最 为 流 行 的 C 语 言 基 础 上 的 , 因 此 语 法 特 征 与 C 语 言 极 为 相 似 , 而 且 更 加 简 单 ,更 加 符 合 科 技 人 员 对 数 学 表 达 式 的 书 写 格 式 。 使 之 更 利 于 非 计 算 机 专 业 的 科 技 人 员 使 用 。而 且 这 种 语 言 可 移 植 性 好 、 可 拓 展 性 极 强 , 这 也 是 MATLAB 能 够 深
13、入 到 科 学 研 究 及 工 程 计算 各 个 领 域 的 重 要 原 因 。( 3) 强 大 的 科 学 计 算 机 数 据 处 理 能 力MATLAB 是 一 个 包 含 大 量 计 算 算 法 的 集 合 。 其 拥 有 600 多 个 工 程 中 要 用 到 的 数 学 运 算函 数 , 可 以 方 便 的 实 现 用 户 所 需 的 各 种 计 算 功 能 。 函 数 中 所 使 用 的 算 法 都 是 科 研 和 工 程 计算 中 的 最 新 研 究 成 果 , 而 前 经 过 了 各 种 优 化 和 容 错 处 理 。 在 通 常 情 况 下 , 可 以 用 它 来 代 替底
14、层 编 程 语 言 , 如 C 和 C+ 。 在 计 算 要 求 相 同 的 情 况 下 , 使 用 MATLAB 的 编 程 工 作 量 会大 大 减 少 。 MATLAB 的 这 些 函 数 集 包 括 从 最 简 单 最 基 本 的 函 数 到 诸 如 矩 阵 , 特 征 向 量 、 快速 傅 立 叶 变 换 的 复 杂 函 数 。 函 数 所 能 解 决 的 问 题 其 大 致 包 括 矩 阵 运 算 和 线 性 方 程 组 的 求 解、 微 分 方 程 及 偏 微 分 方 程 的 组 的 求 解 、 符 号 运 算 、 傅 立 叶 变 换 和 数 据 的 统 计 分 析 、 工 程
15、中的 优 化 问 题 、 稀 疏 矩 阵 运 算 、 复 数 的 各 种 运 算 、 三 角 函 数 和 其 他 初 等 数 学 运 算 、 多 维 数 组操 作 以 及 建 模 动 态 仿 真 等 。( 4) 出 色 的 图 形 处 理 功 能图 形 处 理 功 能MATLAB 自 产 生 之 日 起 就 具 有 方 便 的 数 据 可 视 化 功 能 , 以 将 向 量 和 矩 阵 用 图 形 表 现 出 来 ,并 且 可 以 对 图 形 进 行 标 注 和 打 印 。 高 层 次 的 作 图 包 括 二 维 和 三 维 的 可 视 化 、 图 象 处 理 、 动画 和 表 达 式 作 图
16、 。 可 用 于 科 学 计 算 和 工 程 绘 图 。 新 版 本 的 MATLAB 对 整 个 图 形 处 理 功 能 作了 很 大 的 改 进 和 完 善 , 使 它 不 仅 在 一 般 数 据 可 视 化 软 件 都 具 有 的 功 能 ( 例 如 二 维 曲 线 和 三维 曲 面 的 绘 制 和 处 理 等 ) 方 面 更 加 完 善 , 而 且 对 于 一 些 其 他 软 件 所 没 有 的 功 能 ( 例 如 图 形的 光 照 处 理 、 色 度 处 理 以 及 四 维 数 据 的 表 现 等 ) , MATLAB 同 样 表 现 了 出 色 的 处 理 能 力 。同 时 对 一
17、 些 特 殊 的 可 视 化 要 求 , 例 如 图 形 对 话 等 , MATLAB 也 有 相 应 的 功 能 函 数 , 保 证 了用 户 不 同 层 次 的 要 求 。 另 外 新 版 本 的 MATLAB 还 着 重 在 图 形 用 户 界 面 ( GUI) 的 制 作 上 作了 很 大 的 改 善 , 对 这 方 面 有 特 殊 要 求 的 用 户 也 可 以 得 到 满 足 。( 5) 应 用 广 泛 的 模 块 集 合 工 具 箱MATLAB 对 许 多 专 门 的 领 域 都 开 发 了 功 能 强 大 的 模 块 集 和 工 具 箱 。 一 般 来 说 , 它 们 都是 由
18、 特 定 领 域 的 专 家 开 发 的 , 用 户 可 以 直 接 使 用 工 具 箱 学 习 、 应 用 和 评 估 不 同 的 方 法 而 不需 要 自 己 编 写 代 码 。 目 前 , MATLAB 已 经 把 工 具 箱 延 伸 到 了 科 学 研 究 和 工 程 应 用 的 诸 多 领域 , 诸 如 数 据 采 集 、 数 据 库 接 口 、 概 率 统 计 、 样 条 拟 合 、 优 化 算 法 、 偏 微 分 方 程 求 解 、 神经 网 络 、 小 波 分 析 、 信 号 处 理 、 图 像 处 理 、 系 统 辨 识 、 控 制 系 统 设 计 、 LMI 控 制 、 鲁
19、 棒 控制 、 模 型 预 测 、 模 糊 逻 辑 、 金 融 分 析 、 地 图 工 具 、 非 线 性 控 制 设 计 、 实 时 快 速 原 型 及 半 物理 仿 真 、 嵌 入 式 系 统 开 发 、 定 点 仿 真 、 DSP 与 通 讯 、 电 力 系 统 仿 真 等 , 都 在 工 具 箱 ( Toolbox) 家 族 中 有 了 自 己 的 一 席 之 地 。( 6) 实 用 的 程 序 接 口 和 发 布 平 台新 版 本 的 MATLAB 可 以 利 用 MATLAB 编 译 器 和 C/C+数 学 库 和 图 形 库 , 将 自 己 的 MATLAB 程 序 自 动 转
20、换 为 独 立 于 MATLAB 运 行 的 C 和 C+代 码 。 允 许 用 户 编 写 可 以 和 MATLAB 进 行 交 互 的 C 或 C+语 言 程 序 。 另 外 , MATLAB 网 页 服 务 程 序 还 容 许 在 Web 应 用中 使 用 自 己 的 MATLAB 数 学 和 图 形 程 序 。 MATLAB 的 一 个 重 要 特 色 就 是 具 有 一 套 程 序 扩展 系 统 和 一 组 称 之 为 工 具 箱 的 特 殊 应 用 子 程 序 。 工 具 箱 是 MATLAB 函 数 的 子 程 序 库 , 每 一个 工 具 箱 都 是 为 某 一 类 学 科 专
21、 业 和 应 用 而 定 制 的 , 主 要 包 括 信 号 处 理 、 控 制 系 统 、 神 经 网络 、 模 糊 逻 辑 、 小 波 分 析 和 系 统 仿 真 等 方 面 的 应 用 。( 7) 应 用 软 件 开 发 ( 包 括 用 户 界 面 )在 开 发 环 境 中 , 使 用 户 更 方 便 地 控 制 多 个 文 件 和 图 形 窗 口 ; 在 编 程 方 面 支 持 了 函 数 嵌套 , 有 条 件 中 断 等 ; 在 图 形 化 方 面 , 有 了 更 强 大 的 图 形 标 注 和 处 理 功 能 , 包 括 对 性 对 起 连接 注 释 等 ; 在 输 入 输 出 方
22、 面 , 可 以 直 接 向 Excel 和 HDF5 进 行 连 接 。 编 辑 本 段 Matlab 常 用 工 具 箱MATLAB 包 括 拥 有 数 百 个 内 部 函 数 的 主 包 和 三 十 几 种 工 具 包 。 工 具 包 又 可 以 分 为 功 能性 工 具 包 和 学 科 工 具 包 。 功 能 工 具 包 用 来 扩 充 MATLAB 的 符 号 计 算 , 可 视 化 建 模 仿 真 , 文字 处 理 及 实 时 控 制 等 功 能 。 学 科 工 具 包 是 专 业 性 比 较 强 的 工 具 包 , 控 制 工 具 包 , 信 号 处 理工 具 包 , 通 信 工
23、 具 包 等 都 属 于 此 类 。开 放 性 使 MATLAB 广 受 用 户 欢 迎 。 除 内 部 函 数 外 , 所 有 MATLAB 主 包 文 件 和 各 种 工具 包 都 是 可 读 可 修 改 的 文 件 , 用 户 通 过 对 源 程 序 的 修 改 或 加 入 自 己 编 写 程 序 构 造 新 的 专 用工 具 包 。Matlab Main Toolboxmatlab 主 工 具 箱Control System Toolbox控 制 系 统 工 具 箱Communication Toolbox通 讯 工 具 箱Financial Toolbox财 政 金 融 工 具 箱S
24、ystem Identification Toolbox系 统 辨 识 工 具 箱Fuzzy Logic Toolbox模 糊 逻 辑 工 具 箱Higher-Order Spectral Analysis Toolbox高 阶 谱 分 析 工 具 箱Image Processing Toolbox图 象 处 理 工 具 箱LMI Control Toolbox线 性 矩 阵 不 等 式 工 具 箱Model predictive Control Toolbox模 型 预 测 控 制 工 具 箱-Analysis and Synthesis Toolbox 分 析 工 具 箱Neural Ne
25、twork Toolbox神 经 网 络 工 具 箱Optimization Toolbox优 化 工 具 箱Partial Differential Toolbox偏 微 分 方 程 工 具 箱Robust Control Toolbox鲁 棒 控 制 工 具 箱Signal Processing Toolbox信 号 处 理 工 具 箱Spline Toolbox样 条 工 具 箱Statistics Toolbox统 计 工 具 箱Symbolic Math Toolbox符 号 数 学 工 具 箱Simulink Toolbox动 态 仿 真 工 具 箱Wavele Toolbox小
26、波 工 具 箱 编 辑 本 段 常 用 函 数Matlab 内 部 常 数 3eps: 浮 点 相 对 精 度 exp: 自 然 对 数 的 底 数 e i 或 j: 基 本 虚 数 单 位inf 或 Inf: 无 限 大 , 例 如 1/0nan 或 NaN: 非 数 值 ( Not a number) , 例 如 0/0pi: 圆 周 率 p( = 3.1415926.)realmax: 系 统 所 能 表 示 的 最 大 数 值realmin: 系 统 所 能 表 示 的 最 小 数 值nargin: 函 数 的 输 入 引 数 个 数nargout: 函 数 的 输 出 引 数 个 数
27、lasterr: 存 放 最 新 的 错 误 信 息lastwarn: 存 放 最 新 的 警 告 信 息MATLAB 常 用 基 本 数 学 函 数abs(x): 纯 量 的 绝 对 值 或 向 量 的 长 度angle(z): 复 数 z 的 相 角 (Phase angle)sqrt(x): 开 平 方real(z): 复 数 z 的 实 部imag(z): 复 数 z 的 虚 部conj(z): 复 数 z 的 共 轭 复 数round(x): 四 舍 五 入 至 最 近 整 数fix(x): 无 论 正 负 , 舍 去 小 数 至 最 近 整 数floor(x): 地 板 函 数 ,
28、 即 舍 去 正 小 数 至 最 近 整 数ceil(x): 天 花 板 函 数 , 即 加 入 正 小 数 至 最 近 整 数rat(x): 将 实 数 x 化 为 分 数 表 示rats(x): 将 实 数 x 化 为 多 项 分 数 展 开sign(x): 符 号 函 数 (Signum function)。当 x0 时 , sign(x)=1。rem(x,y): 求 x 除 以 y 的 馀 数gcd(x,y): 整 数 x 和 y 的 最 大 公 因 数lcm(x,y): 整 数 x 和 y 的 最 小 公 倍 数exp(x) : 自 然 指 数pow2(x): 2 的 指 数log(
29、x): 以 e 为 底 的 对 数 , 即 自 然 对 数 或log2(x): 以 2 为 底 的 对 数log10(x): 以 10 为 底 的 对 数MATLAB 常 用 三 角 函 数sin(x): 正 弦 函 数cos(x): 余 弦 函 数tan(x): 正 切 函 数asin(x): 反 正 弦 函 数acos(x): 反 余 弦 函 数atan(x): 反 正 切 函 数atan2(x,y): 四 象 限 的 反 正 切 函 数sinh(x): 双 曲 正 弦 函 数cosh(x): 双 曲 余 弦 函 数tanh(x): 双 曲 正 切 函 数asinh(x): 反 双 曲 正
30、 弦 函 数acosh(x): 反 双 曲 余 弦 函 数atanh(x): 反 双 曲 正 切 函 数适 用 于 向 量 的 常 用 函 数 有min(x): 向 量 x 的 元 素 的 最 小 值max(x): 向 量 x 的 元 素 的 最 大 值mean(x): 向 量 x 的 元 素 的 平 均 值median(x): 向 量 x 的 元 素 的 中 位 数std(x): 向 量 x 的 元 素 的 标 准 差diff(x): 向 量 x 的 相 邻 元 素 的 差sort(x): 对 向 量 x 的 元 素 进 行 排 序 ( Sorting)length(x): 向 量 x 的
31、元 素 个 数norm(x): 向 量 x 的 欧 氏 ( Euclidean) 长 度sum(x): 向 量 x 的 元 素 总 和prod(x): 向 量 x 的 元 素 总 乘 积cumsum(x): 向 量 x 的 累 计 元 素 总 和cumprod(x): 向 量 x 的 累 计 元 素 总 乘 积dot(x, y): 向 量 x 和 y 的 内 积cross(x, y): 向 量 x 和 y 的 外 积MATLAB 基 本 绘 图 函 数plot: x 轴 和 y 轴 均 为 线 性 刻 度 ( Linear scale)loglog: x 轴 和 y 轴 均 为 对 数 刻 度
32、 ( Logarithmic scale)semilogx: x 轴 为 对 数 刻 度 , y 轴 为 线 性 刻 度semilogy: x 轴 为 线 性 刻 度 , y 轴 为 对 数 刻 度matlab 插 值 和 样 条plot 绘 图 函 数 的 参 数字 元 颜 色 字 元 图 线 型 态y 黄 色 . 点k 黑 色 o 圆w 白 色 x xb 蓝 色 + +g 绿 色 * *r 红 色 - 实 线c 亮 青 色 : 点 线m 锰 紫 色 -. 点 虚 线- 虚 线注 解xlabel(Input Value); % x 轴 注 解ylabel(Function Value); % y 轴 注 解title(Two Trigonometric Functions); % 图 形 标 题legend(y = sin(x),y = cos(x); % 图 形 注 解grid on; % 显 示 格 线二 维 绘 图 函 数bar 长 条 图errorbar 图 形 加 上 误 差 范 围fplot 较 精 确 的 函 数 图 形polar 极 座 标 图hist 累 计 图rose 极 座 标 累 计 图stairs 阶 梯 图stem 针 状 图fill 实 心 图feather 羽 毛 图compass 罗 盘 图quiver 向 量 场 图 4