1、I目 录目 录 .I1.说 明 .12.MATLAB 语 言 简 介 .22.1 MATLAB 的 应 用 基 础 .22.2 MATLAB 函 数 .32.3 绘 制 响 应 曲 线 .42.4 MATLAB 语 言 的 联 机 帮 助 功 能 .63.MATLAB 语 言 基 础 实 验 .73.1 实 验 一 MATLAB 语 言 平 台 .73.2 实 验 二 MATLAB 数 值 运 算 .103.3 实 验 三 MATLAB 绘 图 .133.4 实 验 四 MATLAB 句 柄 绘 图 .174. 控 制 理 论 仿 真 实 验 .204.1 实 验 五 控 制 系 统 的 建
2、模 .204.2 实 验 六 控 制 系 统 的 稳 定 性 分 析 实 验 .264.3 实 验 七 控 制 系 统 的 时 域 分 析 实 验 .284.4 实 验 八 控 制 系 统 的 根 轨 迹 分 析 .304.5 实 验 九 控 制 系 统 的 频 域 分 析 .314.6 实 验 十 S 函 数 的 编 写 及 应 用 .325. 实 验 作 业 .381MATLAB 语 言 与 控 制 系 统 仿 真 实 验1.说 明 MATLAB 语 言 与 控 制 系 统 仿 真 实 验 指 导 书 包 括 四 部 分 内 容 : MATLAB 语 言 基 础 、MATLAB 语 言 基
3、 础 实 验 、 控 制 理 论 仿 真 实 验 和 实 验 作 业 。 要 求 每 位 学 生 完 成 规 定 的 实 验 内容 后 , 独 立 做 完 实 验 作 业 , 以 巩 固 知 识 , 增 强 应 用 能 力 。本 课 程 上 机 实 验 学 时 为 8 学 时 , 建 议 分 配 如 下 :实 验 内 容 学 时 数实 验 一 MATLAB 语 言 平 台 0.4实 验 二 MATLAB 数 值 运 算 0.4实 验 三 MATLAB 绘 图 0.2实 验 五 控 制 系 统 的 建 模 1实 验 六 控 制 系 统 的 稳 定 性 分 析 实 验 2实 验 七 控 制 系 统
4、 的 时 域 分 析 实 验 2实 验 八 控 制 系 统 的 根 轨 迹 分 析 1实 验 九 控 制 系 统 的 频 域 分 析 1上 述 学 时 仅 为 参 考 学 时 , 学 生 可 根 据 自 己 对 MATLAB 的 熟 悉 程 度 作 适 当 的 调 整 。22.MATLAB 语 言 简 介MATLAB 是 MathWorks 公 司 于 1982 年 推 出 的 一 套 高 性 能 的 数 值 计 算 和 可 视 化 软 件 ,它 集 数 值 分 析 、 矩 阵 运 算 、 信 号 处 理 和 图 形 显 示 于 一 体 , 构 成 了 一 个 方 便 的 、 界 面 友 好的
5、 用 户 环 境 。 MATLAB 的 推 出 得 到 了 各 个 领 域 专 家 学 者 的 广 泛 关 注 , 其 强 大 的 扩 展 功 能为 各 个 领 域 的 应 用 提 供 了 基 础 , 现 已 成 为 国 际 控 制 界 应 用 最 广 的 首 选 计 算 机 工 具 。 控 制界 的 很 多 知 名 学 者 度 为 其 擅 长 的 领 域 写 出 工 具 箱 , 而 其 中 很 多 工 具 箱 已 经 成 为 该 领 域 的标 准 。和 其 它 的 程 序 设 计 语 言 不 同 , MATLAB 语 言 的 基 本 变 量 单 元 是 复 数 矩 阵 , 其 矩 阵 处理
6、功 能 和 图 形 处 理 功 能 是 其 最 显 著 的 特 色 , 这 里 介 绍 一 些 简 单 实 用 的 MATLAB 命 令 及操 作 。2.1 MATLAB 的 应 用 基 础1. 如 何 应 用 MATLAB通 常 以 命 令 驱 动 方 式 应 用 MATLAB 。 当 输 入 单 个 命 令 时 , MATLAB 会 立 即 对 其 进行 处 理 , 并 且 显 示 处 理 结 果 。 MATLAB 也 能 够 执 行 存 储 在 文 件 中 的 命 令 序 列 。通 过 键 盘 输 入 的 命 令 , 可 以 用 上 下 箭 头 键 存 取 。2. MATLAB 的 变
7、量MATLAB 的 一 个 特 点 是 变 量 在 应 用 前 不 必 确 定 维 数 。 在 MATLAB 中 , 变 量 一 旦 被采 用 , 会 自 动 产 生 ( 如 果 必 要 , 变 量 的 维 数 以 后 还 可 改 变 ) , 并 保 留 在 存 储 器 中 。为 了 得 到 工 作 空 间 内 的 变 量 清 单 , 可 以 通 过 键 盘 输 入 命 令 who , 当 前 存 放 在 工 作 空间 内 的 所 有 变 量 便 会 显 示 在 屏 幕 上 。命 令 clear 能 从 工 作 空 间 中 清 除 所 有 非 永 久 性 变 量 。 如 果 只 需 要 从 工
8、 作 空 间 中 清 除 某个 特 定 变 量 , 比 如 “x”, 则 应 输 入 命 令 clear x。3. 以 “%”开 始 的 程 序 行在 MATLAB 中 以 “%”开 始 的 行 表 示 注 解 和 说 明 , 这 些 注 解 和 说 明 是 不 执 行 的 。 如果 注 解 和 说 明 需 要 一 行 以 上 程 序 行 , 则 每 一 行 均 需 以 “%”为 起 始 。4. 分 号 操 作 符分 号 用 来 取 消 打 印 ( 显 示 ) 。 如 果 语 句 的 最 后 一 个 符 号 是 分 号 , 则 打 印 被 取 消 , 但是 命 令 仍 在 执 行 , 而 结
9、果 不 再 显 示 。 此 外 , 在 输 入 矩 阵 时 , 分 号 表 示 一 行 的 结 束 。5. 冒 号 操 作 符冒 号 操 作 符 在 MATLAB 中 起 着 重 要 作 用 。 该 操 作 符 用 来 建 立 行 向 量 , 赋 予 矩 阵 下 标和 规 定 叠 代 。 例 如 : j : k 表 示 j j+1 k-1 k, A( : , j ) 表 示 矩 阵 A 的 第 j 列 。6. 输 入 超 过 一 行 的 长 句3如 果 输 入 的 语 句 太 长 , 超 出 了 一 行 , 则 在 语 句 的 末 尾 输 入 3 个 小 圆 点 ( ) , 以 表明 语 句
10、将 延 续 到 下 一 行 。7. 在 一 行 内 输 入 数 个 语 句如 果 语 句 之 间 用 豆 号 或 分 号 隔 开 , 则 可 以 把 数 个 语 句 放 在 一 行 内 。 例 如 :plot ( 1 , 3 , o) , text ( 1 , 20 , system 1 ) , text ( 1 , 15 , system 2 )8. 选 择 输 出 格 式MATLAB 中 的 所 有 计 算 都 是 以 双 精 度 方 式 完 成 的 , 但 是 显 示 输 出 可 以 是 具 有 4 个 小数 位 的 定 点 输 出 。 例 如 , 对 于 向 量x = 1/3 , 0.
11、00002 MATLAB 有 下 列 输 出x =0.3333 0.0000 如 果 在 矩 阵 中 至 少 有 一 个 元 素 不 是 严 格 的 整 数 , 则 有 多 种 可 能 的 输 出 格 式 。 显 示 的输 出 量 可 以 用 【 File】 菜 单 的 【 Preferences】 命 令 设 置 , 或 用 下 列 命 令 加 以 控 制 :format short ( 0.3333 0.0000 )format long ( 0.33333333333333 0.00002000000000)format short e ( 3.3333e-001 2.0000e-005
12、)format long e ( 3.333333333333333e-001 2.000000000000000e-005)9. 退 出 MATLAB 时 如 何 保 存 变 量当 退 出 MATLAB 时 , 工 作 空 间 中 的 所 有 变 量 都 将 消 失 。 如 果 在 退 出 之 前 输 入 命 令 save , 则 所 有 的 变 量 都 被 保 存 在 磁 盘 文 件 matlab.mat 文 件 中 。 当 再 次 进 入 MATLAB 时 ,命 令 load 将 使 工 作 空 间 恢 复 到 以 前 的 状 态 。如 果 要 保 存 /恢 复 部 分 变 量 , 可
13、用 如 下 命 令 :save 文 件 名 变 量 名 ( 变 量 名 之 间 用 空 格 分 割 ) /load 文 件 名参 见 save 命 令 的 帮 助 文 件 。2.2 MATLAB 函 数在 当 前 的 MATLAB 5.0 及 以 上 版 本 中 , MATLAB 函 数 的 调 用 格 式 和 其 它 编 程 语 言是 不 同 的 , 其 典 型 的 调 用 格 式 为返 回 变 量 列 表 =func_name( 输 入 变 量 列 表 )其 中 等 号 左 边 的 变 量 为 返 回 变 量 , 等 号 右 边 的 变 量 为 输 入 变 量 。 MATLAB 允 许 在
14、 函数 调 用 时 返 回 多 个 变 量 。 而 一 个 函 数 又 可 以 由 多 种 格 式 进 行 调 用 , 例 如 bode ( ) 函 数 可以 由 下 面 的 格 式 调 用mag,phase=bode(num,den,w)其 中 bode( ) 函 数 用 来 求 取 或 绘 制 系 统 的 Bode 图 , 而 系 统 在 这 里 由 传 递 函 数 分 子num 和 分 母 den 表 示 , 还 可 以 用 下 面 的 格 式 调 用 此 函 数4mag,phase=bode(A,B,C,D,w)其 中 (A,B,C,D)为 系 统 的 状 态 方 程 模 型 。 尽
15、管 两 种 调 用 格 式 是 完 全 不 同 的 , MATLAB 函 数 还 是 会 自 动 识 别 到 底 是 用 哪 种 格 式 调 用 该 函 数 的 , 从 而 得 出 正 确 的 结 论 。在 当 前 版 本 的 控 制 系 统 工 具 箱 中 还 允 许 用 线 性 模 型 对 象 变 量 G 来 描 述 系 统 , 例 如mag,phase=bode(G,w)MATLAB 函 数 在 返 回 变 量 的 格 式 上 也 可 以 不 同 , 例 如 若 上 面 的 语 句 中 若 没 有 返 回 变量 , 则 将 自 动 地 绘 制 系 统 的 Bode 图 , 否 则 返 回
16、 计 算 结 果 数 据 。2.3 绘 制 响 应 曲 线MATLAB 具 有 丰 富 的 获 取 图 形 输 出 的 程 序 集 。 命 令 plot 可 以 产 生 线 性 x-y 图 形( 用 命 令 loglog、 semilogx、 semilogy 或 polar 取 代 plot, 可 以 产 生 对 数 坐 标 图 和 极 坐 标图 ) 。 所 有 这 些 命 令 的 应 用 方 式 都 是 相 同 的 , 它 们 只 对 坐 标 轴 的 分 度 和 数 据 的 显 示 产 生影 响 。1. X-Y 图如 果 X 和 Y 是 同 一 长 度 的 向 量 , 则 命 令plot(
17、X,Y)将 画 出 Y 值 对 于 X 值 的 关 系 图 。2. 画 多 条 曲 线为 了 在 一 幅 图 上 画 出 多 条 曲 线 , 采 用 具 有 多 个 自 变 量 的 plot 命 令 :plot(X1,Y1,X2,Y2,Xn,Yn)变 量 X1,Y1,X2,Y2 等 等 是 一 些 向 量 对 。 每 一 个 X-Y 对 都 可 以 图 解 表 示 出 来 , 因 而 在一 幅 图 上 形 成 多 条 曲 线 。 多 重 变 量 的 优 点 是 它 允 许 不 同 长 度 的 向 量 在 同 一 幅 图 上 显 示 出来 , 每 一 对 向 量 采 用 不 同 的 线 型 。在
18、 一 幅 图 上 画 一 条 以 上 的 曲 线 时 , 也 可 以 利 用 命 令 hold。 hold 命 令 可 以 保 持 当 前 的图 形 , 并 且 防 止 删 除 和 修 改 比 例 尺 。 因 此 , 随 后 的 一 条 曲 线 将 会 重 叠 地 画 在 原 曲 线 上 。再 次 输 入 命 令 hold, 会 使 当 前 的 图 形 复 原 。3. 加 进 网 格 线 、 图 形 标 题 、 X 轴 标 记 和 Y 轴 标 记一 旦 在 屏 幕 上 显 示 出 图 形 , 就 可 以 画 出 网 格 线 , 定 出 图 形 标 题 , 并 且 标 定 x 轴 标 记和 y
19、轴 标 记 。 MATLAB 中 关 于 网 格 线 、 标 题 、 X 轴 标 记 和 Y 轴 标 记 的 命 令 如 下 :grid(网 格 线 )title(图 形 标 题 )xlabel(X 轴 标 记 )ylabel(Y 轴 标 记 )4. 在 图 形 屏 幕 上 书 写 文 本为 了 在 图 形 屏 幕 上 的 点 (x,y)书 写 文 本 , 采 用 命 令 :5text(x,y,text)例 如 , 利 用 语 句text(3,0.45,sin t)将 从 点 (3, 0.45)开 始 , 水 平 地 写 出 sin t。5. 图 形 类 型下 列 语 句 :plot(x,y,
20、x)将 利 用 标 记 符 号 画 出 一 个 点 状 图 。 MATLAB 能 够 提 供 的 线 和 点 的 类 型 如 下 :线 的 类 型 点 的 类 型实 线 - 圆 点 .短 划 线 - 加 号 +虚 线 : 星 号 *点 划 线 -. 圆 圈 o号 x6. 颜 色下 列 语 句 :plot(X,Y,+g)表 明 用 绿 色 “+”号 划 线 。 MATLAB 提 供 的 颜 色 如 下 :红 色 r绿 色 g蓝 色 b白 色 w无 色 i参 见 plot 的 帮 助 文 件 。7. 自 动 绘 图 算 法在 MATLAB 中 , 图 形 是 自 动 定 标 的 。 在 另 一 幅
21、 图 形 画 出 之 前 , 这 幅 图 形 作 为 现 行 图将 保 持 不 变 , 但 是 在 另 一 幅 图 形 画 出 后 , 原 图 形 将 被 删 除 , 坐 标 轴 自 动 地 重 新 定 标 。8. 手 工 坐 标 定 标如 果 需 要 在 下 列 语 句 指 定 的 范 围 内 绘 制 曲 线 :V=x-min x-max y-min y-max则 因 输 入 命 令 axis(V), 式 中 V 是 一 个 四 元 向 量 。 axis(V)把 坐 标 轴 定 在 规 定 的 范 围内 。62.4 MATLAB 语 言 的 联 机 帮 助 功 能下 面 的 实 验 中 ,
22、我 们 将 较 为 详 细 地 学 习 使 用 MATLAB 的 语 言 基 础 和 控 制 系 统 仿 真 ,但 是 MATLAB 的 内 容 及 其 丰 富 , 在 学 习 和 使 用 中 , 可 以 利 用 MATLAB 的 联 机 帮 助 功 能 。MATLAB 的 联 机 帮 助 既 可 以 由 help 命 令 来 直 接 获 得 , 又 可 以 由 MATLAB 图 形 界面 下 的 Help 菜 单 来 查 询 , 还 可 以 用 lookfor 命 令 查 询 有 关 的 关 键 词 :help plotlookfor plot73.MATLAB 语 言 基 础 实 验3.1
23、 实 验 一 MATLAB 语 言 平 台 ( 随 堂 实 验 )一 、 实 验 目 的1. 学 习 了 解 MATLAB 语 言 环 境 ;2. 练 习 MATLAB 命 令 的 基 本 操 作 ;3. 练 习 m 文 件 的 基 本 操 作 。二 、 实 验 内 容1. 学 习 了 解 MATLAB 语 言 环 境( 1) MATLAB 语 言 操 作 界 面开 机 双 击 相 应 图 标 即 可 进 入 MATLAB 命 令 窗 口 , 如 图 1.1 所 示 。 在 命 令 提 示 符 位 置键 入 命 令 , 完 成 下 述 练 习 。图 1.1 MATLAB 窗 口( 2) 练 习
24、 DOS 相 似 命 令MATLAB 语 言 与 DOS 操 作 系 统 有 如 下 相 似 的 命 令 , 在 操 作 界 面 上 练 习 这 些 命 令 。dir dir(c:windows)type type expm.mcd cd c:matlab6p5help( 3) MATLAB 的 数 据 格 式合 法 的 数 据 格 式 有 : short,long,hex,short e,long e,rational 等 。8键 入a=pi;b=exp(1)由 File/Preferences改 变 数 据 格 式 , 观 察 变 量 值 。( 4) 变 量 查 询变 量 查 询 命 令
25、有 who,whos, 查 询 变 量 。( 5) 路 径 函 数 与 搜 索 路 径path 路 径 函 数which 文 件 定 位路 径 函 数 path 列 出 MATLAB 自 动 搜 索 路 径 清 单 , 执 行 该 命 令 。path(path,newpath)addpath(newpath)用 于 在 搜 索 路 径 清 单 中 增 加 新 的 路 径 项 , 练 习 该 命 令 。或 由 File/Set Path设 置 路 径 。说 明 : 在 命 令 窗 口 键 入 一 命 令 并 按 下 回 车 键 , MATLAB 就 在 搜 索 路 径 中 搜 索 相 应 的命
26、令 文 件 ( 内 部 命 令 和 函 数 除 外 ) , 找 到 后 就 执 行 该 文 件 , 若 未 找 到 , 就 给 出 错 误 提 示“File xxxx not found.”。( 6) 联 机 帮 助键 入help help阅 读 help 函 数 的 使 用 说 明 。键 入help列 出 help 项 。查 询 前 面 使 用 过 的 命 令help whohelp path阅 读 上 述 函 数 的 功 能 、 使 用 格 式 等 。( 7) 字 符 串 查 询键 入help lookfor阅 读 MATLAB 函 数 lookfor 的 功 能 与 使 用 方 法 , 并 使 用 该 命 令 查 询 相 应 的 关 键 词 字符 串 。( 8) MATLAB 语 言 演 示键 入demoMATLAB 语 言 功 能 演 示 。2.练 习 MATLAB 命 令 的 基 本 操 作( 1) 键 入 常 数 矩 阵 输 入 命 令