MATLAB简介及程序编写课件.ppt

上传人:小** 文档编号:23694103 上传时间:2021-06-10 格式:PPT 页数:50 大小:290KB
返回 下载 相关 举报
MATLAB简介及程序编写课件.ppt_第1页
第1页 / 共50页
MATLAB简介及程序编写课件.ppt_第2页
第2页 / 共50页
MATLAB简介及程序编写课件.ppt_第3页
第3页 / 共50页
点击查看更多>>
资源描述
高 等 数 学 实 验第 一 章 MATLAB 简 介 MATLAB 简 介 一 、 关 于 MATLAB 、 MATLAB的 特 点 、 MATLAB工 具 箱 及 启 动 二 、 MATLAB程 序 编 写 、 MTLAB的 基 本 元 素 及 使 用 方 法 、 M文 件 及 函 数 、 程 序 语 言 的 编 写三 、 上 机 实 验 MATLAB 简 介 关 于 MATLAB 、 MATLAB的 特 点 功 能 强 大 语 言 简 单 扩 充 能 力 强 、 可 开 发 性 强 编 程 易 、 效 率 高 (从 形 式 上 看 , MATLAB程 序 文 件 是 一 个 纯 文 本 文 件 , 扩 展 名 为 m.用 任 何 字 处 理 软 件 都可 以 对 它 进 行 编 写 和 修 改 , 因 此 程 序 易 调 试 , 人 机 交 互 性 强 。 ) 、 MATLAB工 具 箱 及 启 动 ( ) MATLAB工 具 箱 : MATLAB 主 程 序 最 优 化 工 具 箱 (Optimization Toolbox) 图 像 处 理 工 具 箱 (Image Processing Toolbox) 线 性 矩 阵 不 等 式 控 制 工 具 箱 (LMI Control Toolbox) 偏 微 分 方 程 工 具 箱 (Partial Differential Equation Toolbox) 统 计 工 具 箱 (Statistics Toolbox) 符 号 数 学 工 具 箱 (Symbolic Math Toolbox)MATLAB 简 介 关 于 MATLAB (2) MATLAB启 动 可 以 利 用 菜 单 、 快 捷 键 或 文 件 夹 三种 方 式 进 人 MATLAB工 作 窗 口 。MATLAB 简 介 关 于 MATLAB MATLAB 简 介 MATLAB程 序 编 写 MTLAB的基本元素及使用方法一 、 MTLAB的 基 本 元 素 及 使 用 方 法1、 常 量 和 变 量2、 字 符 串 3、 数 组 和 矩 阵 的 构 造4、 运 算 符 5、 数 组 和 矩 阵 的 运 算 1 常 量 和 变 量1) 常 量 和 变 量 的 定 义 常 量 是 MATLAB语 言 预 定 义 的 一 些 变 量 , 在 默 认 的 情 况 下 这 些变 量 的 值 为 常 数 。 变 量 是 MATLAB的 基 本 元 素 之 一 , 与 其 他 常 规 程 序 设 计 语 言 不同 的 是 MATLAB语 言 不 要 求 对 所 使 用 的 变 量 进 行 事 先 说 明 , 而 且 它也 不 需 要 指 定 变 量 的 类 型 , 系 统 会 根 据 该 变 量 被 赋 予 的 值 或 是 对该 变 量 所 进 行 的 操 作 来 自 动 确 定 变 量 的 类 型 。 变 量 的 命 名 规 则 : 变 量 名 长 度 不 超 过 31位 , 超 过 31位 的 字 符系 统 将 忽 略 不 计 ; 变 量 名 区 分 大 小 写 ; 变 量 名 必 须 以 字 母 开头 , 变 量 名 中 可 以 包 含 字 母 、 数 字 或 下 划 线 。MATLAB 简 介 MATLAB程 序 编 写 2) 常 量 和 变 量 的 运 算 MATLAB关 于 常 量 和 变 量 的 运 算 与 C语 言 基 本 相 同 例 : 计 算MATLAB 简 介 MATLAB程 序 编 写 MATLAB 简 介 MATLAB程 序 编 写2 字 符 串 字 符 和 字 符 串 也 是 MATLAB的 重 要 组 成 部 分 , MATLAB具 有 强 大的 字 符 串 处 理 功 能 , 特 别 是 在 MATLAB 6.5中 有 专 门 的 符 号 运 算 工具 箱 (Symbolic toolbox)使 其 进 行 符 号 运 算 的 功 能 更 为 强 大 。1) 设 定 字 符 串 MATLAB对 字 符 串 的 设 定 非 常 简 单 , 只 需 用 单 引 号 , 将 需 设定 的 字 符 串 引 注 即 可 。2) 字 符 串 的 操 作 由 于 MATLAB语 言 是 采 用 C语 言 开 发 的 , 因 此 它 的 字 符 串 操 作 与 C 语 言 的 相 应 操 作 基 本 相 同 。 在 MATLAH中 用 eval函 数 来 执 行 字 符 串的 功 能 。 MATLAB 简 介 MATLAB程 序 编 写3 数 组 和 矩 阵 的 构 造1) 数 组 只 要 用 空 格 或 逗 号 间 隔 数 组 元 素 ,并 用 方 括 号 括 起 来 就 可 以 了 。 例 如 x=0 1, 7 5注 : 还 可 以 用 增 量 法 和 linspace函 数 法 来 构 造 数 组 增 量 法 构 造 数 组 。 增 量 法 构 造 数 组 例 如 b=10:15 b=10:0.5:12 b=10:-1:5 lingspace函 数 法 构 造 数 组 用 lingspace函 数 构 造 数 组 ,需 要 指 定 首 尾 和 元 素 总 个 数 ,形 式 为 x=linspace(first,last,num) 例 如 x=linspace(0,10,5) MATLAB 简 介 MATLAB程 序 编 写2) 矩 阵 MATLAB里 ,二 数 组 称 为 矩 阵 ,在 方 括 号里 输 入 多 个 元 素 可 以 构 造 矩 阵 的 一 个 行 ,并 用 逗 号 或 空 格 将 每 个 元 素 隔 开 , 不 同 行用 分 号 隔 开 .例如, b=0 1 5;3 7 9 MATLAB 简 介 MATLAB程 序 编 写4 运 算 符 与 其 他 程 序 语 言 类 似 ,MATLAB提 供 了 数 学 表 达 式 功 能 .但 是 ,与大 多 数 程 序 语 言 不 同 的 是 ,这 些 表 达 式 主 要 对 矩 阵 操 作 . 算 术 运 算 符 实 现 四 则 运 算 以 及 幂 ,转 置 等 运 算 , 表 达 式 采 用 的算 术 运 算 符 如 表 1. 1所 示 。 MATLAB 简 介 MATLAB程 序 编 写5 数 组 和 矩 阵 的 运 算 由 数 学 知 识 可 知 , 数 组 和 矩 阵 有 着 不 同 的 概 念 。 在MATLAB中 , 数 组 和 矩 阵 在 形 式 上 很 多 一 致 之 处 , 但 是 实际 上 它 们 遵 循 不 同 的 运 算 规 则 。 MATLAB 简 介 MATLAB程 序 编 写 MATLAB 简 介 MATLAB程 序 编 写 MATLAB 简 介 MATLAB程 序 编 写二 、 M文 件 及 函 数 1. M文 件 如 果 需 要 重 复 调 用 命 令 ,或 者 命 令 的 数 比 较 多 ,将 它 们 写 成 M文件 的 形 式 并 保 存 .M文 件 分 为 脚 本 式 M文 件 和 函 数 式 M文 件 。(1) 脚 本 式 M文 件例 如 在 编 辑 器 中 输 入 如 下 代 码 a=1 2 3;0,1,0;3,4,5; b=det(a) c=inv(a) d=b*c保 存 为 math.m 在 命 令 窗 口 中 输 入 math可 以 执 行 文 件 。 MATLAB 简 介 MATLAB程 序 编 写(2) 函 数 式 M文 件 例 如 给 出 x求在 编 辑 器 中 输 入 function y=tentimes(x)%本 程 序 求 输 入 值 与 10的 乘 积%用 演 示 MATLAB函 数 帮 助 的 实 现 方 法y=x*10;将 它 保 存 到 MATLAB的 work目 录 中 ,M文 件 名 为tentimes.m MATLAB 简 介 MATLAB程 序 编 写在 命 令 窗 口 输 入 help tentimes显 示 本 程 序 求 输 入 值 与 10的 乘 积 用 演 示 MATLAB函 数 帮 助 的 实 现 方 法输 入 y=tentimes(10)得 到 返 回 值 y= 100 MATLAB 简 介 MATLAB程 序 编 写 注 : 比 较 好 的 编 程 习 惯 ,往 往 在 程 序 的 开始 部 分 写 一 些 文 本 ,提 供 关 于 怎 么 使 用 函 数的 帮 助 信 息 .紧 接 函 数 定 义 行 的 以 %符 号 开 头的 第 一 组 连 续 行 是 函 数 的 帮 助 文 本 . MATLAB 简 介 MATLAB程 序 编 写2. 函 数 MATLAB提 供 了 很 多 内 部 数 学 函 数 ,包 括abs,sqrt,exp和 sin.对 负 数 取 平 方 根 或 对 数 不 会 导 致 错误 ,MATLAB会 自 动 返 回 复 数 计 算 结 果 .MATLAB还 提 供 了 很多 高 级 的 数 学 函 数 ,包 括 bessel和 gamma 函 数 ,在 命 令 窗口 入 下 面 的 命 令 ,可 以 看 此 类 函 数 的 列 表 . help elfun 输 入 以 下 的 命 令 ,可 以 看 到 更 多 的 高 级 数 学 函 数 和矩 阵 函 数 help specfun help elmat MATLAB 简 介 MATLAB程 序 编 写注 : ( 1) 任 意 M文 件 中 的 第 1个 函 数 称 为 主 函 数 . 主 函 数 可 以有 任 意 多 个 子 函 数 ,它 们 可 以 作 为 主 函 数 的 子 函 数 .( 2) 大 多 数 情 况 下 ,主 函 数 是 M文 件 中 可 以 从 MATLAB命 令 或 从另 一 个 M文 件 函 数 调 用 的 唯 一 函 数 .调 用 该 函 数 时 ,使 用 定 义该 函 数 的 M文 件 的 名 称 .例 如 ,average 函 数 在 文 件 average.m中 .function y=average(x) %计 算 矢 量 元 素 的 平 均 值y=sum(x)/length(x);可 以 从 MATLAB命 令 行 用 下 面 的 命 令 计 算 3个 数 的 平 均 值 average(2 5 2)ans =3 MATLAB 简 介 MATLAB程 序 编 写注 意 :一 般 使 主 函 数 的 名 称 与 M文 件 的 相 同 .如果 函 数 名 与 文 件 名 不 同 ,必 须 用 文 件 名 调 用 函 数 .M文 件 中 可 以 包 含 一 个 以 上 的 函 数 .文 件 中 除 主函 数 以 外 的 函 数 称 为 子 函 数 , 主 函 数 放 在 最 上 面 ,子函 数 放 在 下 面 ,各 子 函 数 不 分 先 后 顺 序 . MATLAB 简 介 MATLAB程 序 编 写三 、 程 序 语 言 的 编 写 程 序 控 制 语 句 决 定 程 序 运 行 时 的 走 向 ,包 括 条 件 控制 ,循 环 控 制 ,错 误 控 制 和 终 止 运 行 控 制 等 ,这 里 介 绍 条件 控 制 和 循 环 控 制 . MATLAB 简 介 MATLAB程 序 编 写1 条 件 控 制 条 件 控 制 使 得 可 以 有 选 择 地 运 行 程 序 块 .当 条 件 可 以 用 是 或 否 来回 答 时 ,使 用 if语 句 ;当 条 件 根 据 表 达 式 值 的 不 同 可 有 多 个 选 项 时 ,使 用 switch和 case语 句 . ( 1) if语句 在MATLAB中,if语句有3种格式。 (1) 单分支if语句:if 条件 语句组 end 当条件成立时,则执行语句组,执行完之后继续执行if语句的后继语句,若条件不成立,则直接执行if语句的后继语句。 MATLAB 简 介 MATLAB程 序 编 写例 如 : 当 输 入 自 变 量 的 值 ,由 如 下 分 段 函 数 给 出 的 值 MATLAB 简 介 MATLAB程 序 编 写编 辑 M文 件 math.m:x=input(x=);if x mathx=1x= 1y= 3 MATLAB 简 介 MATLAB程 序 编 写(2) 双分支if语句:if 条件 语句组1 else 语句组2 end 当条件成立时,执行语句组1,否则执行语句组2,语句组1或语句组2执行后,再执行if语句的后继语句。 MATLAB 简 介 MATLAB程 序 编 写例3-4 计算分段函数的值。 程序如下:x=input(请输入x的值:);if x=A else disp(c);end MATLAB 简 介 MATLAB程 序 编 写有 多 个 选 择 时 ,可 以 类 似 地 使 用 if/elseif语 句 .例 如 B样 条 函 数 的 判 断 函 数程 序 如 下 :function f=pdbsline(x)if x0f=0;elseif x1 f=x;elseif x pdbsline(-1)ans = 0 pdbsline(1.36)ans =0.6400 pdbsline(2.5)ans = 0 pdbsline(1) ans = 1 MATLAB 简 介 MATLAB程 序 编 写(2) switch/case语 句 该 语 句 的 通 用 格 式 为 : switch switch-expression case case-expression1, statements1; case case-expression2, statements2; case case-expression3, statements3; otherwise statements; end MATLAB 简 介 MATLAB程 序 编 写 switch-expression给 出 开 关 条 件 ,当有 case-expression与 之 匹 配 时 ,就 执 行 其 后的 语 句 .如 果 没 有 case-expression与 之 匹 配 ,就 执 行 otherwise后 面 的 语 句 .在 执 行 过 程 中 ,只 有 一 个 case命 令 被 执 行 ,当 执 行 完 命 令 后 ,程 序 就 跳 出 分 支 结 构 ,执 行 end下 面 的 语 句 . MATLAB 简 介 MATLAB程 序 编 写 例 如 :编 写 转 换 成 绩 等 级 的 函 数 文 件 ,考 试 成 绩 在 80,100分数 段 的 显 示 优 秀 ,在 70,80)分 数 段 显 示 良 好 ,60,70) 分 数 段 显 示及 格 ,0,60) 分 数 段 显 示 不 及 格 . 程 序 如 下 : function result=cj(x) n=fix(x/10); switch n case 8,9,10 disp(优 秀 ); case 7 disp(良 好 ); case 6 disp(及 格 ); otherwise disp(不 及 格 ); end MATLAB 简 介 MATLAB程 序 编 写保 存 为 cj.m,在 命 令 窗 口 输 入 : cj(98)优 秀 cj(80)优 秀 cj(67)及 格 cj(23)不 及 格 MATLAB 简 介 MATLAB程 序 编 写2 循 环 控 制 使 用 循 环 控 制 语 句 ,可 以 重 复 执 行 代 码 块 ,用 for语句 执 行 指 定 次 数 ;while语 句 适 合 于 循 环 一 直 执 行 ,直 到满 足 条 件 为 止 的 情 况 ; continue和 break语 句 对 退 出 循环 给 予 更 多 控 制 . (1) for循 环 for循 环 允 许 一 组 命 令 以 固 定 的 和 预 定 的 次 数 重 复 执行 ,for循 环 的 一 般 形 式 如 下 : for v=expression(循 环 变 量 =初 值 : 步 长 : 终 值 ) statements; end MATLAB 简 介 MATLAB程 序 编 写2循环结构1)for语句for语句的格式为:for 循环变量=表达式1:表达式2:表达式3 循环体语句 end其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值。步长为1时,表达式2可以省略。 MATLAB 简 介 MATLAB程 序 编 写 MATLAB 简 介 MATLAB程 序 编 写例3-9 已知 ,当n=100时,求y的值。 程序如下:y=0;n=100;for i=1:n y=y+1/(2*i-1);endy MATLAB 简 介 MATLAB程 序 编 写在实际MATLAB编程中,采用循环语句会降低其执行速度,所以前面的程序通常由下面的程序来代替:n=100;i=1:2:2*n-1;y=sum(1./i);y MATLAB 简 介 MATLAB程 序 编 写(2) while语句 while语句的一般格式为: while (条件) 循环体语句 end 其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不成立则跳出循环。 MATLAB 简 介 MATLAB程 序 编 写例 如 : 求 自 然 数 前 项 n和 ,输 入 项 数 n 程 序 如 下 : n=input(n=) sum=0;k=1; %给 和 与 循 环 变 量 赋 初 值 while k=n sum=sum+k; k=k+1; end sum 执 行 程 序 : 输 入 10,回 车 得 n= 10 sum= 55 MATLAB 简 介 MATLAB程 序 编 写(3) continue命 令 continue命 令 经 常 与 for或 while语 句 一 起 使 用 ,作 用 是 结 束 本 次 循 环 ,即 跳 过 循 环 体 中 下 面 尚 未 执行 的 语 句 ,接 着 下 一 次 是 否 执 行 循 环 的 判 断 .(4) break命 令 break命 令 经 常 与 for或 while语 句 一 起 使 用 ,作 用 是 终 止 本 次 循 环 ,跳 出 最 内 层 的 循 环 . MATLAB 简 介 MATLAB程 序 编 写(3) continue命 令 continue命 令 经 常 与 for或 while语 句 一 起 使 用 ,作 用 是 结 束 本 次 循 环 ,即 跳 过 循 环 体 中 下 面 尚 未 执行 的 语 句 ,接 着 下 一 次 是 否 执 行 循 环 的 判 断 .(4) break命 令 break命 令 经 常 与 for或 while语 句 一 起 使 用 ,作 用 是 终 止 本 次 循 环 ,跳 出 最 内 层 的 循 环 . MATLAB 简 介 上 机 实 验 MATLAB 简 介 上 机 实 验程 序 :1、 x=input(x=); if x0 y=1; else y=0; end x,y MATLAB 简 介 上 机 实 验2、 oushuhe=0; jishuhe=0; i=1; while i1000 if mod(i,2)=0 oushuhe=oushuhe+i; else jishuhe=jishuhe+i; end i=i+1; end oushuhe jishuhe MATLAB 简 介 上 机 实 验课 外 上 机 实 验
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


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

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


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