matlab2013a教程--真正的2013a学习教程_第1页
matlab2013a教程--真正的2013a学习教程_第2页
matlab2013a教程--真正的2013a学习教程_第3页
matlab2013a教程--真正的2013a学习教程_第4页
matlab2013a教程--真正的2013a学习教程_第5页
已阅读5页,还剩280页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MATLAB 语 言及其 应 用 -2013a 课 程的作 用 课 程的目 的 课 程的特 点 课 程安排 Application of Matlab Language 2 课 程的作 用 在欧美各 高等学校 , Matlab成 为线 性代数、自 动 控制理 论 、 数 字 信号 处 理、 时间 序列分析、 动态 系 统 仿真、 图 像 处 理等 诸 多 课 程的基本教学工具,成 为 本科生、 硕 士生和博士 生的 必 须 掌握的基本技能。 在 设 计 研究 单 位和工 业 部 门 , Matlab已被广泛地用于研究 和 解 决 各种具体的工程 问题 。 可 以 预见 , Matlab将在我国科学研究和工程 应 用中 发挥 越 来 越 大的作用。 Application of Matlab Language 3 讲 授 MATLAB语 言 基 础 入 门 知 识 ,介 绍 MATLAB产 品的体系、 MATLAB桌面工具 的使用方法, 重点介 绍 MATLAB的数据可 视 化、数 值计 算的基本步 骤 以及 如何使 用 MATLAB语 言 编 写整 洁 、高效、 规 范的程序 。 并涉及到一些具体的 专业应 用工 具箱 (如:信号 处 理工具箱、 图 像 处 理工具箱等)。 通 过 本 课 程的学 习 , 了解、熟悉、掌 握 MATLAB的基本 编 程方法 , 并具有初 步的利用 计 算机 处 理、解决 实际问题 的能 力 , 为进 一步学 习 后 续 的 专业课 程做 好准 备 。 本 课 程的特点 ( Features of This Course ) 交叉性 课 程, 是 计 算机技 术 、 数 学理 论 知 识 以及 诸 多 工程 理 论 知 识 的 综 合。 实 践性 课 程 。 内容多, 课时 少,要求同学上 课认 真听 讲 ,要充分利用上机 实 践消化、理解 、 掌握 课 上 讲 解内容 。 本 课 程的目的 ( Objectives of This Course ) Application of Matlab Language 4 通用程序的 编 写 Application of Matlab Language2013/9/10 5 矩 阵 乘法 : = =1 C语 言程序核心部分: for (i=1; i” 与 闪 烁 的光 标 一 起表明系 统 就 绪 ,等待 输 入 。 命 令 窗口脱 离 MATLAB桌面。 简单计 算【例 2.2-1】 计 算( 1) 在 MATLAB命令窗口 输 入 以 下 内容: (12+2*(7-4)/32 ( 2) 按【 Enter】 键 ,指令 执 行 。 ( 3)返回的 计 算 结 果: ans= 2 12 2 7 4 32 Application of Matlab Language2013/9/10 22 2.2 命令窗 口 ( 续 ) Application of Matlab Language2013/9/10 23 说 明 在命令窗口 【 Enter】 键 提交命令 执 行。 Matlab所用运算符( 如 +、 -、 等)是各种 计 算程序中 常 见 的。 计 算 结 果 中的 “ ans” 是英文 “ answer” 的一种 缩 写 , 其含 义 就是 “ 运算答案 ” 。 ans是 Matlab的一个 预 定 义 变 量。 2.2 命令窗 口 ( 续 ) 简单计 算( 续 ) 【例 2.2-2】 计 算 sin(4 ) sin(45*pi/180) Matlab中正弦 函 数 sin就是 常 见 的 正 弦 函 数 。 它的 参数 值 是 以 “ 弧 度 ” 为单 位 的 。 pi也是 Matlab的 预 定 义 变 量 。 pi=3.14159 Matlab对 字 母 大 小 写是敏感的 。 【 例 2.2-3】 计 算 2ex0.5 1的 值 , Application of Matlab Language2013/9/10 24 其 中 x=4.92。 sqrt(2*exp(4.92+0.5)+1) ans= 21.2781 Matlab中开平方 sqrt(x), 是英 文 square root的 缩 写 。 Matlab中指数函数 exp(x), 常 见 的表 达 方 式 。 ans= 0.7071 2.2 命令窗 口 ( 续 ) “clc”清除窗口 显 示内容的命 令 。 【例 2.2-4】 计 算 y 的 值 。 2sin 0.3 1 5 y=2*sin(0.3*pi)/(1+sqrt(5) y= 0.5000 2 cos 0.3 【例 2.2-5】 计 算 y 的 值。 1 5 y=2*cos(0.3*pi)/(1+sqrt(5) y= 0.3633 命令行 编 辑 “ ” 键调 回 已 输 入 过 命 令 。 修 改 。 Application of Matlab Language2013/9/10 25 2.2 命令窗 口 ( 续 ) 【 例 2.2-5】 计 算半 径 为 5.2m的 圆 的 周 长 和 面 积 。 radius=5.2; %圆 的半径 area=pi*5.22, circle_len=2*pi*5.2 area =84.9487 circle_len = 32.6726 以上两例,命令行中用到了等号 “ =”。 计 算 结 果 不 再 赋 给 “ ans”,而是 赋给 Application of Matlab Language2013/9/10 26 用 户 指定的 变 量 y、 area、 circle_len 。 无 论 是 预 定 义 变 量 还 是用 户 自定 义变 量 都被存 储 在 系 统 的工作空 间 内,即 系 统 定 义 的 一个 存 储 窗口 变 量的内存 空 间 。 Who、 whos命令 用来 显 示工作空 间 的 变 量 clear命令用来清 除工作空 间 的 变 量 。 2.2 命令窗 口 ( 续 ) Application of Matlab Language2013/9/10 27 who Your variables are: whos Grand total is 5 elements using 40 bytes ans circle_len y area radius Name Size Bytes Class ans 1x1 8double array area 1x1 8 double array circle_len 1x1 8 double array radius 1x1 8 double array y 1x1 8double array 2.2 命令窗 口 ( 续 ) Application of Matlab Language2013/9/10 28 clear y who Your variables are: ans area circle_len radius clear ans area whos Your variables are: Name Size circle_len 1x1 radius 1x1 Bytes Class 8 double array 8 double array Grand total is 2 elements using 16 bytes 2.2 命令窗 口 ( 续 ) Application of Matlab Language2013/9/10 29 数 值 显 示 格式 设 置 缺省 显 示格式: 简洁 的短 ( short g)格式 窗口命令及 语 法格式 : format 显 示格式关 键 字 如: format long 常 见 通用命令 %15位数字 显 示 命令 含 义 clc 清除命令窗 口的 显 示内容 clear 清除 Matlab工作空 间 中保存的 变 量 who或 whos 显 示 Matlab工作空 间 中的 变 量信息 dir 显 示当前工 作目 录 的文 件 和子 目 录 清 单 cd 显 示或 设 置 当前 工 作目 录 type 显 示指 定 m文件的内容 help或 doc 获 取在 线 帮助 quit或 exit 关 闭 /推出 MATALB 2.3 工作空 间 查 看 工 作 空 间 内 存 变 量,可以 由 who、 whos 。 命名新 变 量。 修改 变 量名 删 除 变 量 绘图 保存 变 量数据 装入数据 Application of Matlab Language2013/9/10 30 2.4 历 史窗口 Application of Matlab Language2013/9/10 31 历 史窗口 : 首 先 记录 每次启 动 时 间 并 记 录 在命令窗口 输 入命令 ,此次运行期 间 , 输 入 的所有命令被 记录为 一 组 ,并以此次启 动时 间为 标 志。 使用 历 史窗 口: 可以 查 看命令窗口 输 入 过 的命令或 语 句 可以 选择 一条或多条命令 执 行拷 贝 、 执 行、 创 建 M文件等。 要 清 除 历 史 记录 ,可以 选 择 Edit菜 单 中的 Clear Command History 命令 2.5 当 前 目 录 窗口和 搜 索路径 Application of Matlab Language2013/9/10 32 当 前 目 录 窗口 : 指 Matlab运 行 时 的工 作 目 录 。 只有在当前目 录 和搜索路径下的文件、函数才可以被 运行和 调 用。 如果没有特殊指明,数据文件也将存放在当前目 录 下 ; 用 户 可以将自己的工作目 录设 置成当前目 录 ,从而使 得所有操作都在当前目 录 中 进 行。 搜索路径: 指 Matlab执 行 过 程中 对变 量 、函数和文 件 进 行 搜 索 的路径。 在 File菜 单 中 选择 Set Path命 令 或 在 命令窗口 输 入 pathtool命 令 , 出 现 搜索路径 设 置 对话 框: !修改完搜索路径后, 需 要 进 行保存。 Application of Matlab Language2013/9/10 33 2.6 获 取 在 线 帮 助 Application of Matlab Language2013/9/10 34 MATLAB提 供 的帮助信息有两 类 简 单 纯 文本帮助信息 help lookfor(条 件 比 较宽 松 ) 例: inverse 窗 口 式 综 合帮助信 息 (文字、公式、 图 形 ) doc helpwin 【功能演 示 -1】 Application of Matlab Language2013/9/10 35 求方 程 2x5 3x3 71x2 9x 13 0 p = 2,0,-3,71,-9,13; 建立多 项 式系数向 量 x = roots(p); 求根 x = 的 全 部根。 -3.4914 1.6863 + 2.6947i 1.6863 - 2.6947i 0.0594 + 0.4251i 0.0594 - 0.4251i 【功能演 示 -2】 求解 线 性方 程 组 Application of Matlab Language2013/9/10 36 2 x 3 y z 28 x 2 y 3z 445 x 3 y 9z 23 a = 2,3,-1;8,2,3;45,3,9; 建 立 系 数矩 阵 a b = 2;4;23;建立列向 量 b x = inv(a)*b x = 0.5531 0.2051 -0.2784 符号 计 算 Application of Matlab Language2013/9/10 37 syms x y z 建 立符号 变 量 x,y,z=solve(2*x+3*y-z-2,8*x+2*y+3*z-4,45*x+3*y+9*z-23) x = 151/273 y = 8/39 z = -76/273 【 功能演示 -3】求解定 积 分 Application of Matlab Language2013/9/10 38 求 解 I= 0 x ln(1 x)dx quad(x.*log(1+x),0,1) ans = 0.250 或 syms x nt(x*log(1+x),0,1) ans = 1/4 1 【 功能演示 -4】多 项 式 曲 线拟 合 考 虑 如下 x-y 一 组 实验 数据: x=1, 2, 3, 4, 5, 6, 7, 8, 9, 10 y=1.2, 3, 4, 4, 5, 4.7, 5, 5.2, 6, 7.2 p1 = polyfit(x,y,1) 三 次 多 项 式 拟 合: p3 = polyfit(x,y,3) plot 原 始 数据、一次 拟 合 曲 线 和三次 拟 合曲 线 x2=1:0.1:10; y1=polyval(p1,x2) y3=polyval(p3,x2) plot( x, y, *, x2, y1, :, x2, y3) 注 : y(x) x3 2x2 5 一 次 多 项 式 拟 合 : Application of Matlab Language2013/9/10 39 In MATLAB y 1 20 5 拟 合曲 线 图 Application of Matlab Language2013/9/10 40 由 图 可 见 ,三次 拟 合 结 果 较 好 。 2.3 数 值 表示、 变 量及表达式 Application of Matlab Language2013/9/10 41 数 值 的 记 述 Matlab的数只采用 习惯 的十 进 制表示,可以 带 小数点 和 负 号 ;其缺省的数据 类 型 为 双精度浮点型( double) 。 例如: 3 -10 0.001 1.3e10 1.256e-6 变 量命令 规则 变 量名 、函数名 对 字母的大小写是敏感的。如 myVar与 myvar表示两个不同的 变 量 。 变 量 名第一个字母必 须 是英文字 母 。 变 量 名可以包含英文字 母 、下划 线 和数字。 变 量 名不能包含空 格 、 标 点。 变 量名最多可包含 63个字符( 6.5及以后的版 本 )。 2.3 数 值 表 示 、 变 量 及 表达式 ( 续 ) Application of Matlab Language2013/9/10 42 Matlab预 定 义 的 变 量 说 明 每当 MATLAB启 动 完成 , 这 些 变 量就 被 产 生。 MATLAB中,被 0除 不会 引 起 程 序 中断 , 给 出 报 警的 同 时 用 inf或 NaN给 出 结 果。 用 户 只 能 临 时 覆盖 这 些 预 定 义变 量 的 值 , Clear或 重 启 MATLAB可 恢 复其 值 。 变 量名 意 义 ans 最近 的 计 算 结 果的 变 量 名 eps MATLAB定 义 的 正的 极 小 值 =2.2204e-16 pi 圆 周率 inf 值 ,无限大 i或 j 虚数 单 元, sqrt(-1) NaN 非数, 0/0、 / 2.3 数 值 表 示 、 变 量 及 表达式 ( 续 ) Application of Matlab Language2013/9/10 43 运 算 符和表达式 说 明 Matlab用 “ ”和 ” /”分 别 表 示 “ 左除 ” 和 “ 右除 ” 。 对标 量而 言 ,两者 没 有区 别 。 对 矩 阵产 生 不同 影 响 。 MATLAB表达 式 的 书 写 规则 与 “ 手 写 方 式 ” 几乎 完 全相 同。 表达 式 按与 常 规 相 同 的 优 先 级 自 左 至右 执 行运 算。 优 先 级 :指 数 运算 级 别 最 高 ,乘 除 次之 , 加减 最 低 。 括号 改 变 运 算 的次 序。 运算 数学表达式 MATLAB运算符 MATLAB表达式 加 a+b + a+b 减 a-b - a-b 乘 axb * a*b 除 a/b或 ab /或 a/b或 ab 幂 ab ab 2.3 数 值 表示、 变 量及表达式 ( 续 ) Application of Matlab Language2013/9/10 44 复数及其运算 MATLAB中复数的表达: z=a+bi,其中 a、 b为实 数。 MATLAB把复数作 为 一个整体,象 计 算 实 数一 样计 算复数 。 【例 2.3-1】 复 数 z1=3+4i, z2=1+2i, z3= 2e 6 计 算 i 1 2 z3 z z z z1=3+4*i, z2=1+2*i, z3=2*exp(i*pi/6), z=z1*z2/z3 z_real=real(z), z_image=imag(z), z_angle=angle(z), z_length=abs(z), 课 堂 总结 Application of Matlab Language2013/9/10 45 对 MATALB整个 软 件 产 品 进 行了概 述 历 史 发 展 软 件 产 品家族体 系 构成 M语 言的特点 MATLAB的入 门 知 识 MATLAB桌面 MATLAB数 值 的 记 述和数据 显 示 格式 变 量 及其命名 规则 运 算 符及表达式 常用 的 MATLAB命令 在 线 帮助的使用 思考 题 Application of Matlab Language2013/9/10 46 1. 简 述 MATALB软 件 的功 能 及特 点 。2. 简 述 MATALB变 量 的命 名 规则 。 3. 熟 悉 课 件 中的例 子 。 Matlab语 言及其 应 用 第 2 讲 工作空 间 Application of Matlab Language2013/9/10 48 Matlab系 统 界 面 2.2 命令窗 口 ( 续 ) 【 例 2.2-5】 计 算半 径 为 5.2m的 圆 的 周 长 和 面 积 。 radius=5.2; %圆 的半径 area=pi*5.22, circle_len=2*pi*5.2 area =84.9487 circle_len = 32.6726 以上两例,命令行中用到了等号 “ =”。 计 算 结 果 不 再 赋 给 “ ans”,而是 赋给 Application of Matlab Language2013/9/10 49 用 户 指定的 变 量 y、 area、 circle_len 。 无 论 是 预 定 义 变 量 还 是用 户 自定 义变 量 都被存 储 在 系 统 的工作空 间 内,即 系 统 定 义 的 一个 存 储 窗口 变 量的内存 空 间 。 Who、 whos命令 用来 显 示工作空 间 的 变 量 clear命令用来清 除工作空 间 的 变 量 。 2.2 命令窗 口 ( 续 ) Application of Matlab Language2013/9/10 50 who Your variables are: circle_len area whos Name Size area 1x1 circle_len 1x1 radius 1x1 radius Bytes Class 8 double array 8 double array 8 double array Grand total is 3 elements using 24 bytes 2.2 命令窗 口 ( 续 ) Application of Matlab Language2013/9/10 51 clear radius who Your variables are: circle_len area clear area whos Your variables are: Name circle_len Size 1x1 Bytes Class 8 double array Grand total is 1 elements using 8 bytes 2.2 命令窗 口 ( 续 ) Application of Matlab Language2013/9/10 52 数 值 显 示格式 设 置 缺 省 显 示格式: 简洁 的短 ( short g, 7位有效 数 字)格式 窗 口 命令及 语 法格式 : format 显 示 格式关 键 字 如: format long %15位数字 显 示 2.2 命令窗 口 ( 续 ) Application of Matlab Language2013/9/10 53 常 见 通用命 令 命令 clc clear who或 whos dir cd type help或 doc quit 或 exit 含 义 清 除 命令窗口的 显 示内容 清除 Matlab工作空 间 中保存的 变 量 显 示 Matlab工作空 间 中的 变 量信息 显 示 当前工作目 录 的文件和子目 录 清 单 显 示 或 设 置当前工作目 录 显 示指 定 m文件的内容 获 取 在 线 帮助 关 闭 /退出 MATALB 2.3 工作空 间 查 看 工 作 空 间 内 存 变 量,可以 由 who、 whos 。 命名新 变 量 修改 变 量名 删 除 变 量 绘图 保存 变 量数据 装入数据 Application of Matlab Language2013/9/10 54 2.4 历 史窗口 Application of Matlab Language2013/9/10 55 历 史窗口: 首 先 记录 每次启 动 时 间 并 记 录 在命令窗口 输 入命令 ,此次运行期 间 , 输 入 的所有命令被 记录为 一 组 ,并以此次启 动时 间 为 标 志。 使 用 历 史 窗口: 可以 查 看命令窗口 输 入 过 的命令或 语 句 可以 选择 一条或多条命令 执 行拷 贝 、 执 行、 创 建 M文件等。 要 清 除 历 史 记录 ,可以 选 择 Edit菜 单 中的 Clear Command History 命令 2.5 当 前 目 录 窗口和 搜 索路径 当 前 目 录 窗口 : 指 Matlab运 行 时 的工 作 目 录 。 只有 在 当前目 录 和 搜索路径下 的文件、函数才可以被 运 行 和 调 用。 如果没有特殊指明,数据文件也将存放 在 当前目 录 下 ; 用 户 可以将自己的工作目 录设 置成当前目 录 ,从而使 得所有操作都在当前目 录 中 进 行。 Application of Matlab Language2013/9/10 56 搜索路径: 指 Matlab执 行 过 程 中 对变 量 、函 数 和文 件 进 行 搜 索 的路径。 在 File菜 单 中 选择 Set Path命令 或 在 命令窗口 输 入 pathtool命 令 , 出 现 搜索路径 设 置 对话 框: !修改完搜索路径后, 需 要 进 行保存。 Application of Matlab Language2013/9/10 57 2.6 获 取 在 线 帮 助 Application of Matlab Language2013/9/10 58 MATLAB提供的帮助信息有 两 类 简 单 纯 文本帮助 信 息 help lookfor(条件比 较宽 松 ) 例: inverse 窗口式 综 合帮助 信 息(文 字 、公式 、 图 形 ) doc helpwin 【 功 能 演 示 -1】求方程的根 Application of Matlab Language2013/9/10 59 求方 程 2x5 3x3 71x2 9x 13 0 p = 2,0,-3,71,-9,13; 建立多 项 式系数向 量 x = roots(p); 求根 x = -3.4914 1.6863 + 2.6947i 1.6863 - 2.6947i 0.0594 + 0.4251i 0.0594 - 0.4251i 的 全 部根。 【 功 能 演 示 -2】求解 线 性方程 组 Application of Matlab Language2013/9/10 60 2 x 3 y z 28 x 2 y 3z 445 x 3 y 9z 23 a = 2,3,-1;8,2,3;45,3,9; 建 立 系 数矩 阵 a b = 2;4;23;建立列向 量 b z = inv(a)*b z = 0.5531 0.2051 -0.2784 符号 计 算 Application of Matlab Language2013/9/10 61 syms x y z 建 立符号 变 量 x,y,z=solve(2*x+3*y-z-2,8*x+2*y+3*z-4,45*x+3*y+9*z-23) x = 151/273 y = 8/39 z = -76/273 【 功 能 演 示 -3】求解定 积 分 Application of Matlab Language2013/9/10 62 求 解 I=0 x ln(1 x)dx quad(x.*log(1+x),0,1) ans = 0.250 或 syms x int(x*log(1+x),0,1) ans = 1/4 1 【 功 能 演 示 -4】多 项 式曲 线拟 合 Application of Matlab Language2013/9/10 63 考 虑 如 下 x-y 一 组实验 数据: x=1, 2, 3, 4, 5, 6, 7, 8, 9, 10 y=1.2, 3, 4, 4, 5, 4.7, 5, 5.2, 6, 7.2 注 : y(x) x3 2x2 5 In MATLAB y 1 20 5 一次多 项 式 拟 合: p1 = polyfit(x,y,1) 三次多 项 式 拟 合: p3 = polyfit(x,y,3) plot 原始数据、一次 拟 合曲 线 和三次 拟 合曲 线 x2=1:0.1:10; y1=polyval(p1,x2) y3=polyval(p3,x2) plot( x, y, *, x2, y1, :, x2, y3) 拟 合曲 线 图 Application of Matlab Language2013/9/10 64 由 图 可 见 ,三次 拟 合 结 果 较 好 。 第 2章 Matlab数据及其运算 Matlab数据 类 型非常丰富 , 除 数 值 型 、 字符 型 等基本数 据 类 型 外 , 还 有 结 构 体 、 单 元 等 更 为 复 杂 的 数 据 类 型 。 各 种 数 据 类 型都 以 矩 阵 形式存 在, 矩 阵 是 Matlab最基本 的 数据 对 象 ,并且 矩 阵 的运算是 定 义 在 复数 域 上的。 2.1 数 值 表示、 变 量及表达式 Application of Matlab Language2013/9/10 66 数 值 的 记 述 Matlab的数只采用 习惯 的十 进 制表示,可以 带 小数点 和 负 号 ;其缺省的数据 类 型 为 双精度浮点型 ( double) 。 例如: 3 -10 0.001 1.3e10 1.256e-6 变 量命令 规则 变 量 名、函数名 对 字母的大小写是敏感的。如 myVar与 myvar表示两个不同的 变 量。 变 量名 第一个字母必 须 是 英文字母 。 变 量 名可以包 含 英文字母、下划 线 和数 字 。 变 量名 不能包含空格、 标 点 。 变 量 名最多可包 含 63个 字符( 6.5及以后的版本)。 2.1 数 值 表示、 变 量及表达式 ( 续 ) Application of Matlab Language2013/9/10 67 Matlab预 定 义 的 变 量 每当 MATLAB启 动 完成, 这 些 变 量就被 产 生。 MATLAB中,被 0除不会引起程序中断, 给 出 报 警的同 时 用 inf 或 NaN给 出 结 果。 用 户 只能 临时 覆盖 这 些 预 定 义变 量的 值 , Clear或重启 MATLAB 可恢复其 值 。 变 量名 意 义 ans 最近 的 计 算 结 果的 变 量 名 eps MATLAB定 义 的 正的 极 小 值 =2.2204e-16 pi 圆 周率 inf 值 ,无限大 i或 j 虚数 单 元, sqrt(-1) NaN 非数, 0/0、 / 2.1数 值 表示、 变 量及表达式 ( 续 ) Application of Matlab Language2013/9/10 68 运 算 符和表达式 Matlab用 “ ”和 ” /”分 别 表示 “ 左 除 ” 和 “ 右除 ” 。 对标 量 而 言 , 两者没有区 别 。 对 矩 阵产 生不同影响。 MATLAB表达式的 书 写 规则 与 “ 手写方式 ” 几乎完全相同。 表达式按与常 规 相同的 优 先 级 自左至右 执 行运算。 优 先 级 :指数运算 级别 最高,乘除次之,加减最低。 括号改 变 运算的次序。 运算 数学表达式 MATLAB运算符 MATLAB表达式 加 a+b + a+b 减 a-b - a-b 乘 axb * a*b 除 a/b或 ab /或 a/b或 ab 幂 ab ab 2.1 数 值 表示、 变 量及表达式 ( 续 ) 复数及其运算 MATLAB中复数的表达: z=a+bi,其中 a、 b为 实 数。 MATLAB把复数作 为 一个整体,象 计 算 实 数 一 样 计 算复数。 【例 2.3-1】 复数 z1=3+4i, z2=1+2i, z3= 2e 6z z 计 算 z 1 2 i z3 z1=3+4*i, z2=1+2*i, z3=exp(i*pi/6), z=z1*z2/z3 z_real=real(z), z_image=imag(z), z_angle=angle(z), z_length=abs(z), Application of Matlab Language2013/9/10 69 2.2 Matlab矩 阵 (数 组 )的表 示 数 组 的概念 一 维 数 组变 量的 创 建 二 维 数 组 变 量的 创 建 数 组 元 素 的 标识 与 寻 访 数 组 运算 多 维 数 组 Application of Matlab Language2013/9/10 70 2.2.1. 数 组 (array)的概念 Application of Matlab Language2013/9/10 71 数 组 定 义 : 按 行 (row)和 列 (column)顺 序 排列的 实 数或复数的有 序 集 ,被称 为 数 组 。 数 组 中的任何一个数都被称 为这 个数 组 的 元素 ,由 其 所 在 的行和列 标识 , 这 个 标识 也称 为 数 组 元素 的 下 标 或索 引 。 Matlab将 标 量 视为 11的数 组 。 对 m行、 n列 的 2维 数 组 a : 计为 mn的数 组 a; *行 标识 、列 标识 均 从 1开始 ; 行 标识 从上 到下 递 增; 列 标识 从左 到右 递 增。 a(3, 4)=34 row is first a= 1 2 3 4 5 2 22 23 24 25 3 32 33 34 35 4 42 43 44 45 数 组 的分 类 一 维 数 组 , 也称 为 向 量 (vector) 。 行向量 (row vector)、 列向量 (column vector)。 二 维 数 组 (矩 阵 matrix)。 多 维 数 组 。 有 效 矩 阵 : 每行元素的 个 数必 须 相 同, 每列 元 素 的个数也必 须 相同。 Application of Matlab Language2013/9/10 72 2.2.1. 数 组 (array)的概 念 2.2.1、数 组 (array)的概念 ( 续 ) 行向量 列向量 Application of Matlab Language2013/9/10 73 a(2,1)=3 a(1,2)=2 b(3)=3 c(2)=2 2.2.2、 创 建 一 维 数 组变 量 Application of Matlab Language2013/9/10 74 第 一 种方 法 :使用方括 号 “ ”操作符 【例 2-1】 创 建数 组 (行向 量 )a=1 3 pi 3+5i a=1 3 pi 3+5*i %or a=1, 3, pi, 3+5*i a= 1.0000 3.0000 3.1416 3.0000 + 5.0000i 所有的向量元素必 须 在操作 符 “ ”之内 ; 向量元素 间 用 空 格 或英 文的 逗 点 “ ,”分 开 。 第 二 种方 法 :使用冒 号 “ :”操作符 【 例 2-2】 创 建 以 110顺 序排列整数 为 元素的行向 量 b 。 b=1:10 b=1 2 3 4 5 6 7 8 9 10 2.2.2、 创 建一 维 数 组变 量 ( 续 ) Application of Matlab Language2013/9/10 75 【例 2-3】 键 入并 执 行 c=1:2:10和 d=1:2:9 c=1:2:10 c=1 3 5 7 9 d=1:2:9 d= 1 3 5 7 9 利 用 冒号 “ :”操作符 创 建行向量的基本 语 法格式: x=Start:Increment:End Start表示新向 量 x的第一个元素; 新向量 x的最后一个元素不能大 于 End ; Increment可正可 负 ,若 负 , 则 必 须 StartEnd;若正, 则 必 须 Starta=1 2 3; b=2 3 4; c=a;b; c1=a b; 第二种方法:函 数 方法 函数 ones(生成全 1矩 阵 )、 zeros (生成全 0矩 阵 ) 、 reshape “help elmat”获 得基本的矩 阵 生成和操作函数列表 【例 3-4】 创 建 全 1的 3x3数 组 。 ones(3) 【例 3-5】 创 建 全 1的 3x4数 组 。 ones(3,4) 2.2.3、 创 建二 维 数 组变 量 ( 续 ) Application of Matlab Language2013/9/10 82 【例 3-5】 reshape的 使 用演示 a=-4:4 a= -4 -3 -2 -1 0 1 2 3 4 b=reshape(a, 3, 3) b= 数 组 元素的排列 顺 序 , 从上到下按列排列 , 先 排 第一 列 ,然后第二 列 , 要 求 数 组 的 元素 总 数不 变 。 -4 -1 2 -3 0 3 -2 1 4 4、 数 组 元素的 标识 与 寻访 Application of Matlab Language2013/9/10 83 数 组 元素 的 标识 “ 全 下 标 ( index) ” 标识 经 典 数 学教 科 书 采 用 “ 全 下 标 ” 标 识 法 : 每一 维 对应 一 个下 标 。 如 对 于二 维 数 组 , 用 “ 行 下 标 和 列下 标 ” 标 识 数 组 的 元 素, a(2,3)就 表 示二 维 数 组 a的 “ 第 2行第 3列 ” 的元 素 。 对 于一 维 数 组 , 用 一个 下 标 即 可 , b(2)表示一 维 数 组 b 的第 2个元素 , 无 论 b是行向 量 还 是 列 向量。 “ 单 下 标 ” ( linear index) 标识 所 谓 “ 单 下 标 ” 标 识 就是 用 一个 下 标 来 表 明元 素 在数 组 的位 置 。 对 于二 维 数 组 , “ 单 下 标 ” 编 号 : 设 想 把 二 维 数 组 的 所有 列 , 按 先后 顺 序首 尾 相接 排 成 “ 一 维长 列 ” , 然 后 自上往下 对 元素 位 置 执 行 编 号。 两种 “ 下 标 ” 标 识 的 变 换 : sub2ind、 ind2sub 4、 数 组 元素的 标识 与 寻访 ( 续 ) Application of Matlab Language2013/9/10 84 【例 4-1】 单 下 标 的 使 用 a=zeros(2, 5); a(:)=-4:5 a = 注 意 数 组 的排列 顺 序 。 -4 -2 0 2 4 -3 -1 1 3 5 4、 数 组 元素的 标 识 与 寻访 ( 续 ) Application of Matlab Language2013/9/10 85 元 素 与子数 组 的 寻 访 与 赋值 【例 4-3】 一 维 数 组 元素与子数 组 的 寻访 与 赋 值 a=linspace(1,10,5) a = 1.0000 3.2500 5.5000 7.7500 10.0000a(3) ans = % 寻访 a的 第 3个元 素 5.5000 a(1 2 5) % 寻访 a的第 1、 2、 5个元素 组 成的子数 组 ans = 1.0000 3.2500 10.0000 4、 数 组 元素的 标识 与 寻访 ( 续 ) Application of Matlab Language2013/9/10 86 a(1:3) ans = 1.0000 a(3:-1:1) ans = 5.5000 a(3:end) ans = 5.5000 % 寻访 前 3个元素 组 成的子数 组 3.2500 5.5000 % 由前 3个元素倒序构成的子数 组 3.2500 1.0000 % 第 3个及其 后 所 有元素构成的子数 组 函数 end作 为 参数使用, 返 回最后一个元素的下 标 7.7500 10.0000a(3:end-1) ans = 5.5000 7.7500 a(1 2 3 5 5 3 2 1) ans = Application of Matlab Language2013/9/10 87 1.0000 3.2500 3.2500 5.5000 10.0000 10.0000 5.5000 1.0000 数 组 元 素可 以 被任 意 重复 访 问 , 构 成 长 度 大于 原 数 组 的 新数 组 。 a(6) ? Index exceeds matrix dimensions. 下 标 值 超出 了 数 组 的 维 数 , 导 致 错 误 a(2.1) ? Subscript indices must either be real positive integers or logicals. 下 标 值 只能 取 正整 数 或 逻 辑 值 4、 数 组 元素的 标识 与 寻访 ( 续 ) 4、 数 组 元素的 标识 与 寻访 ( 续 ) Application of Matlab Language2013/9/10 88 a(3)=0 a = 1.0000 % 修改数 组 a的第 3元素 值为 0 3.2500 0 7.7500 10.0000 a(2 5)=1 1 a = 1.0000 1.0000 0 7.7500 1.0000 可 以 修改指定数 组 元素的 值 一 次 可以修改多个数 组 元素的 值 要 修 改的数 组 元素的个数 应 与送入数 组 的 元 素 个 数相同 4、 数 组 元素的 标识 与 寻访 ( 续 ) Application of Matlab Language2013/9/10 89 【例 4-3】 二 维 数 组 元素与子数 组 的 寻访 与 赋 值 a_2=zeros(2, 4) % 创 建 2x4的 全 0数 组 a_2 = a_2(:)=1:8 a_2 = 注意元素的排列 顺 序 a_2(2 5 8) ans = 2 5 8 % 单 下 标 方式 寻访 多个元 素 0 0 0 0 0 0 0 0 1 3 5 7 2 4 6 8 4、 数 组 元 素 的 标识 与 寻访 ( 续 ) Application of Matlab Language2013/9/10 90 a_2(2 5 8) =10 20 30 a_2 = 1 3 20 7 10 4 6 30 a_2(:,2 3)=ones(2) % 双下 标 方式 寻访 并修 改 a_2 = 二 维 数 组 可 以 “ 单 下 标 ” 方式或 “ 全下 标 ” 方式 访问 、 赋值 ; “ 单 下 标 ” 方式 赋值时 , 等号两 边 涉及的元素个数必 须 相等 ; “ 全下 标 ” 方式 赋值时 , 等号右 边 数 组 的大小必 须 等于原数 组 中 涉 及 元素构成的子数 组 的大小。 1 1 1 7 10 1 1 30 4、数 组 元 素的 标识 与 寻访 ( 续 ) a_2(:,end) ans = 7 30 a_2(:,end-1) ans = 1 1 a_2(:, end:-1:3) ans = 7 1 30 1 a_2(end,:) ans = 10 1 1 30 a_2(end,2:4) ans = 1 1 30 a_2 (4 6)=6:7 a_2 = 1 1 1 7 10 6 7 30 a_2(end,2:end-1) What is the result? Application of Matlab Lang

温馨提示

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

评论

0/150

提交评论