《MATLAB入门》PPT课件.ppt

上传人:san****019 文档编号:20994012 上传时间:2021-04-21 格式:PPT 页数:194 大小:1.61MB
收藏 版权申诉 举报 下载
《MATLAB入门》PPT课件.ppt_第1页
第1页 / 共194页
《MATLAB入门》PPT课件.ppt_第2页
第2页 / 共194页
《MATLAB入门》PPT课件.ppt_第3页
第3页 / 共194页
资源描述:

《《MATLAB入门》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《MATLAB入门》PPT课件.ppt(194页珍藏版)》请在装配图网上搜索。

1、Matlab入 门 学 习 MATLAB入 门 学 习n 1 Matlab简 介n 2 Matlab基 础 操 作n 3 Matlab变 量 与 函 数n 4 Matlab数 组 与 矩 阵n 5 Matlab程 序 设 计n 6 Matlab作 图 Matlab-矩 阵 实 验 室 (Matrix Laboratory). matlab语言 是 由 美 国 的 Clever Moler博 士 于 1980年 开 发 的 , 设 计的 初 衷 是 为 解 决 “ 线 性 代 数 ” 课 程 的 矩 阵 运 算 问 题 Matlab语 言 是 功 能 强 大 的 计 算 机 高 级 语 言 ,它

2、 以 超 群 的 风格 与 性 能 风 靡 全 世 界 . Matlab已 成 为 世 界 上 应 用 最 广 泛 数 学 软 件 之 一 ,该 软 件 以矩 阵 运 算 为 基 础 , 将 计 算 、 可 视 化 、 程 序 设 计 融 合 在 简单 易 用 的 交 互 式 环 境 中 。 1 Matlab简 介一 、 Matlab简 介 MATLAB在 美 国 已 经 作 为 大 学 工 科 学 生 必 修 的 计 算 机 语言 之 一 (C, FORTRAN, ASSEMBLER, MATLAB) 近 年 来 , MATLAB语 言 已 在 我 国 推 广 使 用 , 现 在 已 应 用

3、于 各 学 科 研 究 部 门 和 许 多 高 等 院 校 MATLAB语 言 不 受 计 算 机 硬 件 的 影 响 , 286以 上 的 计 算机 都 可 以 使 用 二 、 Matlab运 用 举 例 例 1、 用 一 个 简 单 命 令 求 解 线 性 系 统 程 序 : dez211.m1 2 31 2 31 2 33 3.62 4 2.14 5 1.4x x xx x xx x x 例 2、 用 简 短 命 令 绘 制 在 0 x6范 围 内 的sin(2x)、 sinx2、 sin2x。程 序 : dez212.m 例 3、 绘 制 正 弦 曲 线 和 余 弦 曲 线 。x=0:

4、0.5:360*pi/180;plot(x,sin(x),x,cos(x);例 4、 求 方 程 3x4+7x3 +9x2-23=0的 全 部 根 。p=3,7,9,0,-23; %建 立 多 项 式 系 数 向 量x=roots(p) %求 根 三 、 Matlab语 言 特 点 语 言 简 洁 紧 凑 , 语 法 限 制 不 严 , 程 序 设计 自 由 度 大 , 可 移 植 性 好 . 运 算 符 、 库 函 数 丰 富 图 形 功 能 强 大 图 形 功 能 强 大 界 面 友 好 、 编 程 效 率 高 功 能 强 大 的 工 具 箱 扩 展 性 强 Matlab主 工 具 箱 符

5、 号 数 学 工 具 箱 仿 真 工 具 箱 控 制 系 统 工 具 箱 系 统 辨 识 工 具 箱 小 波 工 具 箱 模 糊 逻 辑 工 具 箱 神 经 网 络 工 具 箱通 信 工 具 箱图 象 处 理 工 具 箱优 化 工 具 箱财 政 金 融 工 具 箱样 条 工 具 箱统 计 工 具 箱信 号 处 理 工 具 箱功 能 强 大 的 工 具 箱 1.强 大 的 数 值 ( 矩 阵 ) 运 算 功 能 2.广 泛 的 符 号 运 算 功 能 3.高 级 与 低 级 兼 备 的 图 形 功 能 ( 计 算 结 果 的 可视 化 功 能 ) 4.可 靠 的 容 错 功 能 5.应 用 灵

6、活 的 兼 容 与 接 口 功 能 6.信 息 量 丰 富 的 联 机 检 索 功 能四 、 Matlab语 言 功 能 1.矩 阵 运 算 功 能 MATLAB提 供 了 丰 富 的 矩 阵 运 算 处 理 功 能 , 是 基于 矩 阵 运 算 的 处 理 工 具 。 变 量 矩 阵 , 运 算 矩 阵 的 运 算 例 如 C=A+B,A,B,C都 是 矩 阵 ,是 矩 阵 的 加 运 算 ; 即 使 一 个 常 数 ,Y=5,MATLAB也 看 做 是 一 个 11的矩 阵 。 2.符 号 运 算 功 能 符 号 运 算 即 用 字 符 串 进 行 数 学 分 析 允 许 变 量 不 赋

7、值 而 参 与 运 算 用 于 解 代 数 方 程 、 微 积 分 、 复 合 导 数 、 积 分 、二 重 积 分 、 有 理 函 数 、 微 分 方 程 、 泰 勒 级 数 展开 、 寻 优 等 , 可 求 得 解 析 符 号 解 3.丰 富 的 绘 图 功 能 与 计 算 结 果 的 可 视 化 具 有 高 层 绘 图 功 能 两 维 、 三 维 绘 图 具 有 底 层 绘 图 功 能 句 柄 绘 图 使 用 plot函 数 可 随 时 将 计 算 结 果 可 视 化4.MATLAB的 容 错 功 能非 法 操 作 时 , 给 出 提 示 , 并 不 影 响 其 操 作如 1/0 5.M

8、ATLAB的 兼 容 功 能 可 与 C语 言 、 FORTURE语 言 跨 平 台 兼 容 用 函 数 CMEX、 FMEX实 现 此 功 能 不 推 荐 使 用6.强 大 的 联 机 检 索 帮 助 系 统可 随 时 检 索 matlab函 数可 随 时 查 询 matlab函 数 的 使 用 方 法 Matlab联 机 帮 助 命 令help 功 能 提 供 matlab大 部 分 主 题 的 在 线 帮助 信 息help 显 示 help 主 题 一 览 表help elfun 显 示 基 本 的 数 学 函 数help 显 示 特 殊 字 符 与 符 号 帮 助 信息 (or hel

9、p ops) help help 显 示 help 的 帮 助 信 息虽 然 help可 以 随 时 提 供 帮 助 , 但 必 须知 道 准 确 的 函 数 名 称 。 当 不 能 确 定 函数 名 称 时 , help就 无 能 为 力 了 。 Matlab联 机 帮 助 命 令 Lookfor函 数 它 可 提 供 通 过 一 般 的 关 键 词 ,搜 索 出 一 组 与 之 相 关 的 命 令 lookfor fourier寻 找 含 有 傅 立 叶 变 换 的 相 关指 令 lookfor fouri寻 找 所 有 包 含 fouri的 指 令 和 注释help、 lookfor 两

10、 个 指 令 构 成 了 matlab语 言 相 当 完 善 的 在 线 帮 助 查 询 系 统 返 回 一 、 启 动 、 进 入用 鼠 标 双 击 matlab图标 即 可 打 开 matlab命 令平 台关 闭 ( 退 出 )直 接 点exit,quit 2 Matlab基 础 操 作 二 、 Matlab工 作 界 面 命 令 窗 口 工 作 空 间 历 史 命 令 工 作 目 录当 前 工 作目 录 菜 单工 具 栏 开 始 菜 单 n 命 令 窗 口 ( Command Window)n 历 史 命 令 窗 口 ( Command History)n M文 件 编 辑 /调 试 器

11、 ( Editor/Debugger)n 当 前 目 录 浏 览 器 ( Current Directory Browser)n 工 作 空 间 浏 览 器 ( Workspace Browser)n 内 存 数 组 编 辑 器 ( Array Editor)n 图 形 窗 口 ( Figure)n 帮 助 导 航 /浏 览 器 ( Help)主 要 窗 口 : 命 令 窗 口n 命 令 窗 口 是 命 令 行 语 句 执 行 的 主 要 窗 口 , 用 于 输入 命 令 并 显 示 除 图 形 以 外 的 所 有 执 行 结 果 。n MATLAB命 令 窗 口 中 的 “ ” 为 命 令

12、提 示 符 ,在 命 令 提 示 符 后 键 入 命 令 并 按 下 回 车 键 后 ,MATLAB就 会 执 行 所 输 入 的 命 令 , 并 在 命 令 后 面 给出 计 算 结 果 。 n 一 个 命 令 行 也 可 以 输 入 若 干 条 命 令 , 各 命 令 之间 以 逗 号 分 隔 , 若 前 一 命 令 后 带 有 分 号 , 则 逗号 可 以 省 略 。 若 一 命 令 后 带 有 分 号 , 则 回 车 后matlab将 执 行 该 命 令 , 但 并 不 显 示 该 命 令 的 结果 。n 如 果 一 个 命 令 行 很 长 , 可 以 在 第 一 行 之 后 加 上3

13、个 小 黑 点 ( ) 并 按 下 回 车 键 , 接 着 下 一 行继 续 写 命 令 的 其 他 部 分 。 3个 小 黑 点 称 为 续 行符 。n 在 MATLAB里 , 有 很 多 的 控 制 键 和 方 向 键 可用 于 命 令 行 的 编 辑 。 常 用 的 操 作 命 令命 令 含 义 命 令 含 义cd 设 置 当 前 工 作 目 录 exit 退 出 matlabclf 清 除 图 形 窗 口 quit 退 出 matlabclc 清 除 命 令 窗 口 中 的 显 示 内 容 md 创 建 目 录clear 清 除 工 作 空 间 中 保 存 的 变 量 more 使 其

14、 后 的 显 示 目 录 内 容 分 页 进 行dir 显 示 指 定 目 录 下 的 文 件 type 显 示 指 定 M文 件 的 内 容 edit 打 开 M文 件 编 辑 器 which 指 出 其 后 所 在 文 件 的 目 录 历 史 命 令 窗 口n 该 窗 口 中 显 示 每 次 开 启 matlab的 时 间 和 开 启 后已 执 行 过 的 命 令 , 单 击 窗 口 的 右 上 角 的 箭 号 会独 立 显 示 该 窗 口 。 双 击 该 窗 口 中 某 条 命 令 即 可将 该 命 令 发 送 到 命 令 窗 口 重 新 执 行 一 次 。n 在 该 窗 口 的 某 一

15、 命 令 上 单 击 鼠 标 右 键 会 弹 出 菜单 。 下 拉 菜 单 的 功 能 :n Copy 将 所 选 历 史 命 令 拷 贝 到 剪 贴 板n EvaluateSelection 运 行 所 选 历 史 命 令n CreateM-File 打 开 编 辑 器 , 将 所 选 历 史 命 令 复 制 到 编 辑 器n DeleteSelection 删 除 所 选 历 史 命 令 (不 确 认 是 否 删 除 ) n DeletetoSelection 从 头 删 除 到 所 选 历 史 命 令 (不 确 认 是 否 删 除 )n DeleteEntireHistory 清 除 全

16、 部 历 史 命 令 (将 弹 出 对 话 框 确 认 是 否 清 除 ) M文 件 编 辑 /调 试 器n 选 择 【 File】 【 New】 【 M-File】 或 者直 接 在 命 令 窗 口 中 输 入 edit就 可 以 打 开 M文 件编 辑 窗 口 当 前 目 录 浏 览 器n 当 前 目 录 是 指 MATLAB运 行 文 件 时 的 工 作 目录 , 只 有 在 当 前 目 录 或 搜 索 路 径 下 的 文 件 、 函数 可 以 被 运 行 或 调 用 。 在 该 窗 口 中 可 以 显 示 或改 变 当 前 目 录 , 还 可 以 显 示 当 前 目 录 下 的 文 件

17、并 提 供 搜 索 功 能 。n 将 用 户 目 录 设 置 成 当 前 目 录 可 以 使 用 交 互 式 界面 设 置 法 。 也 可 使 用 cd命 令 。 例 如 , 将 用 户 目录 c:mydir设 置 为 当 前 目 录 , 可 在 命 令 窗 口 输入 命 令 : cd c:mydir n MATLAB的 搜 索 路 径当 用 户 在 MATLAB命 令 窗 口 输 入 一 条 命 令 后 ,MATLAB按 照 一 定 次 序 寻 找 相 关 的 文 件 。 基本 的 搜 索 过 程 是 :(1) 检 查 该 命 令 是 不 是 一 个 变 量 。(2) 检 查 该 命 令 是

18、 不 是 一 个 内 部 函 数 。(3) 检 查 该 命 令 是 否 当 前 目 录 下 的 M文 件 。(4) 检 查 该 命 令 是 否 MATLAB搜 索 路 径 中 其 他目 录 下 的 M文 件 。 n 用 户 可 以 将 自 己 的 工 作 目 录 列 入 MATLAB搜索 路 径 , 从 而 将 用 户 目 录 纳 入 MATLAB系 统统 一 管 理 。 设 置 搜 索 路 径 的 方 法 有 : (1) 用 path命 令 设 置 搜 索 路 径 。 例 如 , 将 用户 目 录 c:mydir加 到 搜 索 路 径 下 , 可 在 命 令 窗口 输 入 命 令 : pat

19、h(path,c:mydir) (2) 用 对 话 框 设 置 搜 索 路 径 。 在 MATLAB的File菜 单 中 选 Set Path命 令 或 在 命 令 窗 口 执 行pathtool命 令 , 将 出 现 搜 索 路 径 设 置 对 话 框 。通 过 Add Folder或 Add with Subfolder命 令 按钮 将 指 定 路 径 添 加 到 搜 索 路 径 列 表 中 。在 修 改 完 搜 索 路 径 后 , 则 需 要 保 存 搜 索 路 径 。 工 作 空 间 浏 览 器n 工 作 空 间 浏 览 器 ( 又 称 内 存 浏 览 器 ) 是MATLAB的 一 个

20、 变 量 管 理 中 心 , 用 于 存 储 各 种变 量 和 结 果 。 可 以 显 示 变 量 的 名 称 、 大 小 、 字节 和 变 量 类 型 说 明 等 信 息 , 可 对 变 量 进 行 观 察 、编 辑 、 保 存 和 删 除 n 变 量 查 询 函 数 who与 whos。 作 用 都 是 列 出 在工 作 空 间 中 已 经 存 在 的 变 量 名 清 单 ; 不 同 的是 whos在 给 出 变 量 的 同 时 , 还 给 出 其 详 细 信息 。n matlab中 本 身 自 带 的 变 量 是 不 能 用 该 命 令 查询 的 。 内 存 数 组 编 辑 器n 选 中

21、 工 作 空 间 中 的 任 一 数 组 , 双 击 该 数 组 即 可打 开 内 存 数 组 编 辑 器 图 形 窗 口图 形 窗 口 的 打 开 方 式 有 三 种 :n 在 主 窗 口 上 依 次 选 择 FileNew Figure或Open file操 作 时 , 选 择 打 开 图 形 文 件 。n 在 命 令 窗 口 输 入 figure命 令 。n 执 行 结 果 为 图 形 的 命 令 。 % This m-file calculates and plots the function sin(x) for 0 = x New-M-file.2.在 Matlab命 令 窗 口

22、输 入 命 令 edit.3.单 击 Matlab工 具 栏 上 的 New M-File命 令 按 钮 . 保 存 , 运 行 M文 件 的 语 法 类 似 于 c语 言 , 但 又 有 其 自 身 特点 。 它 只 是 一 个 简 单 的 ASCII码 文 本 文 件 , 执 行 程序 时 逐 行 解 释 运 行 程 序 , matlab是 解 释 性 的 编 程 语言 。 M文 件 有 两 类 独 立 的 m文 件 称 命 令 文 件 可 调 用 m文 件 称 函 数 文 件 (1).命 令 (脚 本 )M文 件 以 .m为 扩 展 名 的 文 件,在 Matlab命 令 窗 口 直 接

23、 输 入 此 文 件 的 主 文件 ,Matlab可 以 逐 一 执 行 文 件 的 所 有 命 令 , 与 逐行 输 入 这 些 命 令 一 样 . dez232.m n 命 令 文 件 包 括 两 部 分 : 注 释 文 件 和 程 序 文 件%RANK Number of linearly independent rows or columns.% K = RANK(X) is the number of singular values of X% that are larger than MAX(SIZE(X) * NORM(X) * EPS.% K = RANK(X,tol) is

24、the number of singular values of X that% are larger than tol.% Copyright (c) 1984-94 by The MathWorks, Inc.s = svd(x);if (nargin = 1) tol = max(size(x) * max(s) * eps;endr = sum(s tol); 程 序 部 分 例 建 立 命 令 文 件 将 华 氏 温 度 f转 换 为 摄 氏 温 度 c。程 序 1: 首 先 建 立 命 令 文 件 并 以 文 件 名 f2c.m存 盘 。clear; %清 除 工 作 空 间 中

25、的 变 量f=input(Input Fahrenheit temperature: );c=5*(f-32)/9然 后 在 MATLAB的 命 令 窗 口 中 输 入 f2c, 将 会 执 行 该 命令 文 件 , 执 行 情 况 为 :Input Fahrenheit temperature: 73c =22.7778 (2).函 数 M文 件 Matlab的 内 部 函 数 是 有 限 的 , 有 时 需 要 定义 新 函 数 , 为 此 须 编 写 函 数 文 件 . matlab用 户 可 以 根 据 需 要 编 辑 自 己 的 m文 件 , 它们 可 以 像 库 函 数 一 样 方

26、 便 的 调 用 , 从 而 极大 地 扩 展 了 matlab 的 能 力 。 函 数 文 件 是 以 扩 展 名 为 .m的 文 件 , 函 数 文件 命 名 为 : 函 数 名 .m, 这 类 文 件 的 格 式 为 : function 输 出 形 参 表 =函 数 名 (输 入 形 参 表 ) %注 释 说 明 部 分 函 数 体 语 句 函 数 m文 件 的 格 式 : function 返 回 变 量 =函 数 名 ( 输 入 变 量 ) 注 释 说 明 语 句 段 程 序 语 句 段特 定 规 则 :1. 函 数 m文 件 第 一 行 必 须 遵 循 如 下 形 式 : fun

27、ction =()2. m文 件 的 文 件 名 必 须 是 .m。3. 程 序 中 的 变 量 均 为 局 部 变 量 , 不 保 存 在 工 作 空 间 中 。其 变 量 只 在 函 数 运 行 期 间 有 效 。 4. 所 创 建 的 m文 件 必 须 纳 入 matlab搜 索 路 径 后 , 才 能 在matlab命 令 窗 口 运 行 。 例 : 定 义 函 数 f(x1,x2)=100(x2-x12)2+(1-x1)2function f=fun(x)f=100*(x(2)-x(1)2)2+(1-x(1)21.建 立 M文 件 : fun.m fun.m2. 可 以 直 接 使

28、用 函 数 fun.m例 如 : 计 算 f(1,2), 只 需 在 Matlab命令 窗 口 键 入 命 令 :x=1 2 fun(x) 例 建 立 函 数 文 件 将 华 氏 温 度 f转 换 为 摄 氏 温 度 c。程 序 2:首 先 建 立 函 数 文 件 f2c.m。function c=f2c(f)c=5*(f-32)/9然 后 在 MATLAB的 命 令 窗 口 调 用 该 函 数 文 件 。clear;y=input(Input Fahrenheit temperature: );x=f2c(y)输 出 情 况 为 :Input Fahrenheit temperature:

29、70c =21.1111x =21.1111 例 利 用 函 数 文 件 , 实 现 直 角 坐 标 (x,y)与 极 坐 标(,)之 间 的 转 换 。 函 数 文 件 tran.m:function rho,theta=tran(x,y)rho=sqrt(x*x+y*y);theta=atan(y/x); 调 用 tran.m的 命 令 文 件 main1.m:x=input(Please input x=:);y=input(Please input y=:);rho,the=tran(x,y);rhothe 例 利 用 函 数 的 递 归 调 用 , 求 n! 。 n!本 身 就 是

30、以 递 归 的 形 式 定 义 的 :显 然 , 求 n!需 要 求 (n-1)!, 这 时 可 采 用 递 归 调 用 。递 归 调 用 函 数 文 件 factor.m如 下 :function f=factor(n)if n=1 f=1;else f=factor(n-1)*n; %递 归 调 用 求 (n-1)!end在 MATLAB中 , 函 数 可 以 嵌 套 调 用 , 即 一 个 函数 可 以 调 用 别 的 函 数 , 甚 至 调 用 它 自 身 。 一 个 函数 调 用 它 自 身 称 为 函 数 的 递 归 调 用 。 作 业 题1.查 阅 几 个 关 于 变 量 操 作

31、 的 命 令 的 作 用 及 其使 用 方 法 : who,whos,which,save,load,length2.建 立 下 面 函 数 的 M文 件 , 求 f(x)值 . (1)f(x)=log(x1+x22),x=(1,2) (2)f(x)=sin(x2)+exp(2*x3),x=23.试 编 写 同 时 求 sin(x),cos(x),exp(x),abs(x)的 M函 数 文 件 . 4、 建 立 符 号 函 数 的 M文 件 :当 输 入 的 变 量 为 负 数 时 , 返 回值 -1; 当 输 入 的 变 量 为 正 数 时 , 返 回 值 1; 而 输 入 0时 ,返 回

32、值 0. 5.建 立 函 数 的 M文 件 。6.通 过 帮 助 系 统 查 询 roots,poly,polyval的 用 法 , 用 这 些 命令 解 下 面 的 问 题 : 已 知 一 多 项 式 的 零 点 为 -1, 1, 2, 3, 求 这 个 多 项 式 的系 数 并 且 计 算 多 项 式 在 点 x=2.5处 的 值 。 0, 0,2 1xx xef x clc 清 除 工 作 窗clear 清 除 工 作 空 间 变 量clf 清 除 图 形 窗 口quit 退 出 MATLABpath 显 示 搜 索 目 录save 保 存 内 存 变 量 到 指 定 文 件load 加

33、 载 指 定 文 件 的 变 量who 执 行 该 命 令 可 列 出 储 存 空 间 的 所 有 变 量whos 显 示 所 有 的 变 量 , 变 量 所 占 的 字 节 数 及 该 变 量 是 否 是 实 数 Length,size 屏 幕 上 显 示 出 向 量 a的 长 度 。如 果 a是 矩 阵 , 则 显 示 的 参 数 为 行 数 列 数 中 的 最 大 数type 显 示 文 件 内 容补 充 1. 常 用 的 控 制 指 令 2.命 令 行 键 盘 技 巧 调 用 上 一 行 调 用 下 一 行 光 标 左 移 一 个 字 符 光 标 右 移 一 个 字 符Del 删 除

34、光 标 的 字 符home 光 标 置 于 当 前 行 开 头end 光 标 置 于 当 前 行 末 尾esc 清 除 当 前 输 入 行Ctrl 光 标 左 移 一 个 单 词backspace 删 除 光 标 前 的 字 符 Ctrl 光 标 右 移 一 个 单 词alt backspace 恢 复 上 一 次 的 删 除 4.1 数 组 及 其 运 算 4.2 矩 阵 及 其 运 算 作 业 题 4数 组 与 矩 阵 矩 阵 是 MATLAB最 基 本 的 数 据 对 象 , MATLAB的 大部 分 运 算 或 命 令 都 是 在 矩 阵 运 算 的 意 义 下 执 行的 。 在 MA

35、TLAB中 , 不 需 对 矩 阵 的 维 数 和 类 型 进行 说 明 , MATLAB会 根 据 用 户 所 输 入 的 内 容 自 动进 行 配 置 。 help elmat: 基 本 矩 阵 和 矩 阵 操 作 一 、 数 组 的 建 立n直 接 输 入 x=a,b,c,d,e,f: 创 建 包 含 指 定元 素 的 行 数 组 , 元 素 必 须 用 方 括 号 扩 起 来 , 元素 之 间 用 空 格 、 逗 号 或 分 号 分 隔 , 用 空 格 或 逗号 建 立 行 数 组 , 用 分 号 分 隔 建 立 列 数 组n利 用 冒 号 表 达 式 x=first:step:las

36、t 创 建 从first开 始 , 以 step为 步 长 , 以 last为 尾 元 素数 值 限 的 行 数 组 。 若 step省 略 , 则 步 长 为 14.1 数 组 及 其 运 算 n用 函 数 linspace建 立x=linspace(first,last,n) 创 建 从 first开 始 , 到 last结 束 , 有 n个 元 素 的 等 分 数 组。 若 n省 略 , 则 创 建 100维 的 等 分 数 组 。 Shuzu1.mn用 函 数 logspace建 立x= logspace(a,b,n) 生 成 从 10a到 10b之 间 按对 数 等 分 的 n个 元

37、 素 的 数 组 。 若 n省 略 , 则 创建 50维 的 等 分 数 组 。 二 、 数 组 元 素 的 访 问 shuzu2.mn直 接 使 用 元 素 编 址 序 号 x(a b c d)表 示 提取 数 组 x的 第 a,b,c,d个 元 素 构 成 一 个 新 的 数 组x(a)x(b)x(c)x(d). n访 问 一 块 元 素 x(a:b:c): 访 问 数 组 x的 从 第 a个 元 素 开 始 ,以 步 长 为 b到 第 c个 元 素 (但 不 超 过c), b可 以 为 负 数 , b缺 损 时 为 1. n访 问 一 个 元 素 x(i): 访 问 数 组 x的 第 i

38、个 元 素 . 三 、 数 组 的 方 向 数 组 也 可 以 是 列 向 量 ,它 的 数 组 操 作 和 运 算与 行 向 量 是 一 样 的 ,唯 一 的 区 别 是 结 果 以 列 形式 显 示 . 产 生 列 向 量 有 两 种 方 法 : 直 接 产 生 :例 c=1; 2; 3; 4 转 置 产 生 :例 b=1 2 3 4;c=b ( 单 引 号 ) 说 明 : 以 空 格 或 逗 号 分 隔 的 元 素 指 定 的 是 不 同 列 的 元 素 , 而 以 分 号 分 隔 的 元 素 指 定 了 不 同 行 的 元 素 . 四 、 数 组 的 运 算( 1) 标 量 -数 组

39、运 算设 : a=a1,a2,an, c=标 量则 : a c=a1 c,a2 c,an c a*c= c * a =a.*c=a1*c,a2*c,an*c a./c=a/c= a1/c,a2/c,an/c(右 除 ) a.c=ac= a1c,a2c,anc(左 除 ) a.c=ac= a 1c,a2c,anc c.a=ca= ca1,ca2,can shuzu3.m ( 2) 数 组 -数 组 运 算 ( 维 数 相 同 )设 : a=a1,a2,an, b=b1,b2,bn则 : a b=a1 b1,a2 b2,an bn a.*b=a1*b1,a2*b2,an*bn a./b=a1/b1

40、,a2/b2,an/bn a.b=a1b1,a2b2,anbn a.b=a1b1,a2b2,anbn 数 量 积 : dot( a,b) 向 量 积 : cross( a,b) (三 维 向 量 间 )Shuzu4.m 4.2 矩 阵 及 其 运 算n直 接 输 入 矩 阵 : 矩 阵 的 建 立 可 以 通 过 赋 值 语 句 实 现, 赋 值 符 号 左 边 为 变 量 名 , 右 边 为 矩 阵 元 素 。 矩 阵 元素 应 用 方 括 号 “ ” 括 住 , 元 素 可 以 是 数 值 或 表 达式 元 素 , 表 达 式 可 以 由 数 字 、 变 量 、 运 算 符 和 函 数 等

41、组 成 。 输 入 矩 阵 时 , 严 格 要 求 所 有 行 有 相 同 的 列 .矩阵 同 行 内 的 元 素 间 用 逗 号 或 空 格 隔 开 , 行 与 行 之 间 用分 号 或 回 车 键 隔 开 。 一 、 矩 阵 的 建 立 matrix0.m n利 用 内 存 数 组 编 辑 器 输 入 矩 阵 : 从 工 作 空 间 窗 口 中 双击 变 量 后 就 可 以 打 开 编 辑 器 进 行 输 入n利 用 M文 件 建 立 大 矩 阵 :n利 用 矩 阵 函 数 建 立 矩 阵 :u 空 阵 matlab允 许 输 入 空 阵 , 当 一 项 操 作 无 结果 时 , 返 回

42、空 阵 。u rand 随 机 矩 阵u eye 单 位 矩 阵 u zeros 全 部 元 素 都 为 0的 矩 阵u ones 全 部 元 素 都 为 1的 矩 阵u 还 有 伴 随 矩 阵 、 稀 疏 矩 阵 、 魔 方 矩 阵 、 对 角 矩 阵 、 范德 蒙 等 矩 阵 的 创 建 Matrix1.m 二 、 矩 阵 中 元 素 的 访 问( 1) 矩 阵 的 某 个 元 素 :两 种 方 式 : 全 下 标 方 式 和 单 下 标 方 式 。u全 下 标 方 式 是 指 出 行 下 标 和 列 下 标 的 方法 调 用 , 如 一 个 m n的 矩 阵 A的 第 i( 1 i m)

43、 行 第 j(1 j n)列 的 元 素 可表 示 为 A(i,j)。 u 单 下 标 方 式 : 根 据 全 下 标 换 算 出 单 下 标 的 函 数 sub2ind格 式 : IND=sub2ind(siz,I,J) IND为 返 回 的 对 应 的 单 下 标 , siz为 以 矩 阵 行 数 和 列 数构 成 的 两 个 元 素 的 向 量 , I和 J分 别 为 矩 阵 的 某 一 行 号和 列 号 。 根 据 单 下 标 换 算 出 全 下 标 的 函 数 ind2sub格 式 : I,J=ind2sub(siz,IND) I和 J分 别 为 返 回 的 矩 阵 的 某 一 行

44、号 和 列 号 , siz为 以矩 阵 行 数 和 列 数 构 成 的 两 个 元 素 的 向 量 , IND为 单 下标 。 ( 2) 矩 阵 A的 第 r行 : A( r, : )( 3) 矩 阵 A的 第 r列 : A( : , r)( 5) 取 矩 阵 A的 第 i1-i2行 、 第 j1-j2列 构 成 新 矩 阵 :A(i1:i2 j1:j2)( 6) 以 逆 序 提 取 矩 阵 A的 第 i1-i2行 , 构 成 新 矩 阵 :A(i 2:-1: i1, : )( 4) 依 次 提 取 矩 阵 A的 每 一 列 ,将 A拉 伸 为 一 个 列 向 量 : A(:) ( 7) 以

45、逆 序 提 取 矩 阵 A的 第 j1-j2列 , 构 成 新 矩阵 :A(:,j2:-1:j1 )( 8) 删 除 A的 第 i1-i2行 , 构 成 新 矩阵 :A(i1:i2, : )= ( 9) 删 除 A的 第 j1-j2列 , 构 成 新 矩 阵 : A(:,j1:j2)= ( 10) 将 矩 阵 A和 B拼 接 成 新 矩 阵 :A B;A;Bmatrix2.m 三 . 矩 阵 的 修 改n 直 接 修 改 可 用 键 找 到 所 要 修 改 的 矩 阵 , 用 键 移动 到 要 修 改 的 矩 阵 元 素 上 即 可 修 改 。n 指 令 修 改 可 以 用 A(,)= 来 修

46、 改 。 ( 2) 矩 阵 -矩 阵 运 算u元 素 对 元 素 的 运 算 : 同 数 组 -数 组 运 算 。 四 、 矩 阵 的 运 算( 1) 标 量 -矩 阵 运 算 : 同 标 量 -数 组 运 算 。Matrix3.mu矩 阵 运 算 : 矩 阵 加 减 法 : A B; 矩 阵 乘 法 :A*B; 矩 阵 除 法 : AB或 B/A; 方 阵 行 列 式 :det( A) ; 方 阵 的 逆 : inv( A) ; 方 阵 的 特征 值 与 特 征 向 量 : V, D=eig(A)等 矩 阵 加 减 运 算 : 若 A和 B矩 阵 的 维 数 相 同 , 则可 以 执 行 矩

47、 阵 的 加 减 运 算 , A和 B矩 阵 的 相 应元 素 相 加 减 。矩 阵 乘 法 : 两 个 矩 阵 A和 B, 若 A为 m n矩阵 , B为 n p矩 阵 , 则 C=A*B为 m p矩 阵 。矩 阵 除 法 : 矩 阵 除 法 运 算 的 运 算 符 为 和 /,分 别 表 示 左 除 和 右 除 。 矩 阵 除 法 的 定 义 为 :AB=A-1 B , A/B=A B-1 例 求 解 方 程 组A=2 2 -1 1;4 3 -1 2;8 3 -3 4;3 3 -2 -2;b=4 6 12 6;X=Ab %等 价 语 句 为 X=inv(A)*b, 但 是 调 用 inv命

48、 令 速 度慢 1 2 3 41 2 3 41 2 3 41 2 2 42 2 44 3 2 68 3 3 4 123 3 2 2 6x x x xx x x xx x x xx x x x 矩 阵 乘 方 : 运 算 符 为 , 运 算 表 达 式 为A B, 矩 阵 乘 方 运 算 的 含 义 是 : AB表 示 方 阵 A自 乘 B次n 当 A为 矩 阵 ,B为 正 整 数 时 , 则 将 aij自 乘 B次 ;n 当 A为 矩 阵 ,B也 为 矩 阵 时 , A和 B矩 阵 必 须 同 型 ,则 将 aij自 乘 bij次 。n 当 A为 正 整 数 ,B为 矩 阵 时 , 将 Abi

49、j构 成 新 矩阵 的 第 i行 第 j列 元 素 。 其 中 aij和 bij分 别 表 示 矩 阵 A和 B的 第 i行 第 j列元 素 。 点 运 算 : 在 MATLAB中 , 有 一 种 特 殊 的 运 算 , 因 为 其运 算 符 是 在 有 关 算 术 运 算 符 前 面 加 点 , 所 以 叫 点 运算 。 点 运 算 符 有 .*、 ./、 .和 .。 两 矩 阵 进 行 点 运算 是 指 它 们 的 对 应 元 素 进 行 相 关 运 算 , 要 求 两 矩 阵的 维 参 数 相 同 。 见 数 组 的 运 算 。此 外 , 还 有 对 角 矩 阵 diag; 矩 阵 转

50、置 ( A ) ; 矩阵开 方 sqrt; 矩 阵 的 秩 rank(A)等 命 令 编 辑 M文 件 dezzyt2.m,完 成 1-6题 :2.取 A的 1,2行 与 2,3列 的 交 叉 元 素 作 子 矩 阵 A1.3.取 A的 1,3行 , 然 后 按 行 形 成 矩 阵 A2.5.取 A2的 绝 对 值 大 于 3的 元 素 构 成 向 量 A4.6.求 出 A的 最 大 值 a及 其 所 处 的 位 置 . 提 示 : 对 于 5,6题 , 请 利 用 帮 助 , 查 阅 命 令 find , max.作 业 题 21. 创 建 矩 阵 1 2 1 3 51 2 9 0 63 3

51、 4 7 19 8 0 7 6A 4.逆 序 提 取 A的 1,2,3行 , 形 成 列 矩 阵 A3. 用 三 种 方 法 ( 克 拉 姆 法 则 、 矩 阵 的 除 法 、 逆矩 阵 ) 解 方 程 组 AX=b7、 设 10 7 8 77 5 6 58 6 10 97 5 9 10A 32233331b 5 n 5.1关 系 操 作 符n 5.2逻 辑 运 算 符n 5.3Matlab程 序 结 构n 顺 序 结 构n 循 环 结 构n 选 择 结 构n 作 业 题 3 5.1 关 系 操 作 符 关 系 运 算 表 达 式 的 计 算 结 果 是 一 个 由 0和 1组 成的 逻 辑

52、数 组 ( logical array) , 在 数 组 中 用 1表 示真 , 0表 示 假 。 关 系 运 算 符 的 运 算 法 则 为 :n 1 当 两 个 比 较 量 是 标 量 时 , 直 接 比 较 两 数 的 大小 。 若 关 系 成 立 , 关 系 表 达 式 结 果 为 1, 否 则 为0。n 2 当 参 与 比 较 的 量 是 两 个 同 型 的 矩 阵 时 , 比 较是 对 两 矩 阵 相 同 位 置 的 元 素 按 标 量 关 系 运 算 规则 逐 个 进 行 , 并 给 出 元 素 比 较 结 果 。 最 终 的 关系 运 算 的 结 果 是 一 个 与 原 矩 阵

53、 同 型 的 矩 阵 , 它的 元 素 由 0或 1组 成 。 n 3 当 参 与 比 较 的 一 个 是 标 量 , 而 另 一 个 是 矩阵 时 , 则 把 标 量 与 矩 阵 的 每 一 个 元 素 按 标 量关 系 运 算 规 则 逐 个 比 较 , 并 给 出 元 素 比 较 结果 。 最 终 的 关 系 运 算 的 结 果 是 一 个 与 原 矩 阵同 型 的 矩 阵 , 它 的 元 素 由 0或 1组 成 。n 4 对 于 复 数 , 、 、 =, 仅 对 参 加 比较 变 量 的 实 部 进 行 比 较 , = = 和 = , 则 同时 对 实 部 和 虚 部 进 行 比 较

54、。 Guanxiyunsuan.m 例 分 析 语 句 a=3+3= =6的 执 行 结 果例 已 知 a=1 2 3 4;b1=3, b2=0.1 2.1 2.9 4.1, 分 析 a与 b1 , b2的 六 种 关 系 运 算的 结 果 。 关 系 运 算 的 应 用1 find函 数函 数 find函 数 的 格 式 为 :lindices = find(X) 功 能 : 返 回 数 组 X的 非 零 元 素 的 序 号 , 如 无 非 零 元素 , 返 回 空 数 组 。li,j = find(X) 功 能 : 返 回 数 组 X的 非 零 元 素 的 行 号 和 列 号 , 此 格式

55、 很 适 合 稀 疏 数 组 。li,j,v = find(X) 功 能 : 返 回 数 组 X的 非 零 元 素 的 行 号 、 列 号 以 及 列向 量 。 例 已 知 A=4,-65,-54,0,6;56,0,67,- 45,0, 分 析 下列 语 句 的 功 能 。find(A4) %找 出 大 于 4的 元 素 的 序 号i j=find(A,1) %找 出 一 个 不 为 零 的 元 素 的 行 号 、 列 号i j=find(A,1,first) %找 出 第 一 个 不 为 零 的 元 素 的 行 号 、 列 号i j=find(A,1,last) %找 出 最 后 一 个 不

56、 为 零 的 元 素 的 行 号 、 列 号 例 求 三 阶 和 四 阶 魔 方 矩 阵 中 绝 对 值 大 于 7的 元 素 。a=magic(3); b=magic(4); 方 法 1 x=abs(a)7;y=abs(b)7; %判 断 a、 b元 素 是 否 绝 对 值 大 于 7 a(x),b(y) %求 出 绝 对 值 大 于 7的 元 素方 法 2: 应 用 find函 数a=magic(3);b=magic(4); x=find(abs(a)7),y=find(abs(b)7) 5.2 逻 辑 运 算 符 在 逻 辑 运 算 中 , 定 义 非 零 元 素 为 真 ,用 1表 示

57、 , 定 义 零 元 素 为 假 , 用 0表 示 。 参 与 运 算 的 两 个 标 量 a与 b, 则 ab=magic(4); %生 成 三 阶 和 四 阶 的 魔 方 矩 阵x=abs(a)7length(x)length(y)a(x)b(y)方 法 2 应 用 find函 数 运 算 符 优 先 级 (课 本 37页 )MATLAB中 各 种 运 算 符 的 优 先 级 如 下 :n (矩 阵 转 置 )、 (矩 阵 幂 )和 .(数 组 转 置 )、 .(数 组幂 )n (逻 辑 非 ) n *(乘 )、 /(左 除 )、 (右 除 )和 .*(点 乘 )、 ./(点 左除 )、

58、.(点 右 除 ) n +、 -(加 减 )n : (冒 号 ) n 、 、 =、 = n n选 择 结 构 ;n循 环 结 构 ; 下 面 分 别 介 绍 以 上 三 种 程 序 控 制 结 构 。 一 、 顺 序 结 构( 1) 数 据 的 输 入 从 键 盘 输 入 数 据 , 则 可 以 使 用 input函 数 来 进行 , 该 函 数 的 调 用 格 式 为 : A=input(提 示 信 息 , 选 项 );其 中 提 示 信 息 为 一 个 字 符 串 , 用 于 提 示 用 户 输 入什 么 样 的 数 据 。 如 果 在 input函 数 调 用 时 采 用 s选 项 ,

59、则 允 许 用户 输 入 一 个 字 符 串 。 例 如 , 想 输 入 一 个 人 的 姓 名 ,可 采 用 命 令 : xm=input(Whats your name?,s); ( 2) 数 据 的 输 出 MATLAB提 供 的 命 令 窗 口 输 出 函 数 主 要 有disp函 数 , 其 调 用 格 式 为 : disp(输 出 项 )其 中 输 出 项 既 可 以 为 字 符 串 , 也 可 以 为 矩 阵 。 例 输 入 x,y的 值 , 并 将 它 们 的 值 互 换 后 输 出 。 x=input(Input x please.); y=input(Input y ple

60、ase.); z=x; x=y; y=z; disp(x=,num2str(x); disp(y=,num2str(y); 例 求 一 元 二 次 方 程 ax2 +bx+c=0的 根 。程 序 如 下 :a=input(a=);b=input(b=);c=input(c=);d=b*b-4*a*c;x=(-b+sqrt(d)/(2*a),(-b-sqrt(d)/(2*a);disp(x1=,num2str(x(1),x2=,num2str(x(2); (3)程 序 的 暂 停 暂 停 程 序 的 执 行 可 以 使 用 pause函 数 , 其 调 用 格式 为 : pause(延 迟 秒

61、数 ) 如 果 省 略 延 迟 时 间 , 直 接 使 用 pause, 则 将 暂 停程 序 , 直 到 用 户 按 任 一 键 后 程 序 继 续 执 行 。 若 要 强 行 中 止 程 序 的 运 行 可 使 用 Ctrl+C命 令 。 顺 序 结 构 示 意 图 l按 排 列 顺 序 依 次 执行 各 条 语 句 , 直 到 程序 的 最 后 。l最 简 单 的 一 种 程 序结 构 , 一 般 涉 及 数 据的 输 入 输 出 、 数 据 的计 算 或 处 理 等 。 示 意 图开 始命 令 1命 令 2 - 命 令 n结 束shunxujiegou.m 二 、 选 择 结 构根 据

62、 一 定 条 件 来 执 行 的 各 条 语 句 。(1)单 分 支 if语 句 格 式 : if 条 件 命 令 语 句 end 如 果 条 件 表 达 式 为 真 ,就执 行 命 令 串 . 前 面 语 句取 条 件 值语 句 组后 面 语 句 2 1 1 ( ) , (2), ( 1)2 1x xf x f fx x 例 1 设 求解 : 先 建 立 M文 件 fun1.m定 义 函 数 f(x) ,再在 Matlab命 令 窗 口 输 入 fun1(2),fun1(-1).function f=fun1(x)x=input(x=)if x1f=x2+1endif x1f=x2+1els

63、ef=2*xend (fun11.m) ( 2) 双 分 支 if结 构 语 句 :If 条 件 命 令 语 句 1else 命 令 语 句 2end如 果 条 件 表 达 式 真 ,就 执 行 命 令 语 句 1;为 假 ,则 执 行 命 令 语 句 2 格 式 如 上 例 ( 3) 多 分 支 if语 句 : 格 式 1 if (expression1) commands1 else if (expression2) commands2 else if (expressionk-1) commandsk-1 else commandsk end end end 格 式 2 if 条 件 1

64、 语 句 组 1 elseif 条 件 2 语 句 组 2 elseif 条 件 n-1 语 句 组 n-1 else 语 句 组 n end( 就 一 个 end) 前 面 语 句条 件 1语 句 组 1 后 面 语 句语 句 组 2是 否条 件 2是 条 件 n-1语 句 组 n-1 语 句 组 n是 否 否(3) 多 分 支 if语 句 : 23x 1 x 1 f(x) 2 0 x 1, (2), (0.5), ( 1)x 0 x f f fx 例 1 设 求 先 建 立 M文 件 fun2.m定 义 函 数 f( x) ,再 在 Matlab命 令 窗 口 输 入fun2(2),fun

65、2(0.5), fun2(-1)即 可 。程 序 见fun2.m switch-case结 构一 般 switch-case语 句 格 式 为 :switch 表 达 式 case 值 1 语 句 组 1 case 值 2 语 句 组 2 case 值 m 语 句 组 m otherwise 语 句 组 m+1end 三 、 循 环 结 构循 环 语 句 主 要 有 以 下 几 种 : ( 1) for循 环 : 允 许 一 组 命 令 以 固 定 的 和 预 定的 次 数 重 复 , 格 式 如 下 : for 循 环 变 量 =表 达 式 1:表 达 式 2:表 达 式 3 循 环 体 语

66、 句 end 其 中 表 达 式 1的 值 为 循 环 变 量 的 初 值 , 表 达 式2的 值 为 步 长 , 表 达 式 3的 值 为 循 环 变 量 的 终 值 。步 长 为 1时 , 表 达 式 2可 以 省 略 。 进 入取 循 环 变 量 值执 行 循 环 体是 否 超 过 循 环 变 量 终 值退 出 循 环for x=array commandsend for循 环 示 意 图 例 写 出 下 列 程 序 的 执 行 结 果 。 a = zeros(k,k) for m = 1:k for n = 1:k a(m,n) = 1/(m+n -1); endenda forshili1.m例 对 n=1,2,10,求 xn= 的 值clear;for n=1:10 x(n)=sin(n*pi/10);endx forshili2.m10sin n 例 一 个 三 位 整 数 各 位 数 字 的 立 方 和 等 于 该 数 本身 则 称 该 数 为 水 仙 花 数 。 输 出 全 部 水 仙 花 数 。 程 序 如 下 :for m=100:999m1=fix(m/100)

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!