道客巴巴MATLAB的数值计算

上传人:san****019 文档编号:22695635 上传时间:2021-05-30 格式:PPT 页数:81 大小:558KB
返回 下载 相关 举报
道客巴巴MATLAB的数值计算_第1页
第1页 / 共81页
道客巴巴MATLAB的数值计算_第2页
第2页 / 共81页
道客巴巴MATLAB的数值计算_第3页
第3页 / 共81页
点击查看更多>>
资源描述
第 二 讲 MATLAB的 数 值 计 算 matlab 具 有 出 色 的 数 值 计算 能 力 , 占 据 世 界 上 数 值 计 算 软件 的 主 导 地 位 数 值 运 算 的 功 能创 建 矩 阵矩 阵 运 算多 项 式 运 算线 性 方 程 组数 值 统 计线 性 插 值函 数 优 化微 分 方 程 的 数 值 解 一 、 命 令 行 的 基 本 操 作1. 创 建 矩 阵 的 方 法直 接 输 入 法规 则 : 矩 阵 元 素 必 须 用 括 住 矩 阵 元 素 必 须 用 逗 号 或 空 格 分 隔 在 内 矩 阵 的 行 与 行 之 间 必 须 用 分 号 分 隔 a=1; b=2; c=3; x=5 b c; a*b a+c c/b x= 5.000 2.000 3.000 2.000 4.000 1.500 y=2, 4, 5; 3 6 8 y= 2 4 5 3 6 8 矩 阵 元 素 可 以 是 任 何 matlab表 达 式 , 可 以是 实 数 , 也 可 以 是 复 数 , 复 数 可 用 特 殊 函数 I, j 输 入 。 大 的 矩 阵 可 以 用 分 行 输 入 ,回 车 键 代 表 分 号 。 a=1 2 3;4 5 6 x=2 pi/2; sqrt(3) 3+5i 矩 阵 元 素 符 号 的 作 用逗 号 和 分 号 的 作 用 逗 号 和 分 号 可 作 为 指 令 间的 分 隔 符 , matlab允 许 多 条 语 句在 同 一 行 出 现 。 分 号 如 果 出 现 在 指 令 后 ,屏 幕 上 将 不 显 示 结 果 。 注 意 : 只 要 是 赋 过 值 的 变 量 , 不 管 是否 在 屏 幕 上 显 示 过 , 都 存 储 在 工 作 空间 中 , 以 后 可 随 时 显 示 或 调 用 。 变 量名 尽 可 能 不 要 重 复 , 否 则 会 覆 盖 。 当 一 个 指 令 或 矩 阵 太 长 时 , 可 用 续 行 冒 号 的 作 用 用 于 生 成 等 间 隔 的 向 量 , 默 认间 隔 为 1。 用 于 选 出 矩 阵 指 定 行 、 列 及 元素 。 循 环 语 句 2.用 matlab函 数 创 建 矩 阵空 阵 matlab允 许 输 入 空 阵 , 当 一项 操 作 无 结 果 时 , 返 回 空 阵 。rand 随 机 矩 阵eye 单 位 矩 阵zeros 全 部 元 素 都 为 0的 矩 阵ones 全 部 元 素 都 为 1的 矩 阵diag 产 生 对 角 矩 阵 例 eye(2, 3) zeros(2, 3) ans= ans= 1 0 0 0 0 0 0 1 0 0 0 0 ones(2, 3) ans= 1 1 1 1 1 1 V=5 7 2; A=diag(V) A= 5 0 0 0 7 0 0 0 2 例 eye(2) ans= 1 0 0 1 zeros(2) ans= 0 0 0 0 ones(2) ans= 1 1 1 1 例 在 区 间 20,50内 均 匀 分 布 的 5阶 随 机矩 阵 。 命 令 如 下 : x=20+(50-20)*rand(5)此 外 , 常 用 的 函 数 还 有 reshape(A,m,n),它 在 矩 阵 总 元 素 保 持 不 变 的 前 提 下 , 将矩 阵 A重 新 排 成 m n的 二 维 矩 阵 。 也 可 用 linspace函 数 产 生 行 向 量 。 其 调 用格 式 为 : linspace(a, b, n) 其 中 a和 b是 生 成 向 量 的 第 一 个 和 最 后 一个 元 素 , n是 元 素 总 数 。例 a=linspace(1 , 10 , 10) a= 1 2 3 4 5 6 7 8 9 10 还 有 伴 随 矩 阵 、 稀 疏 矩 阵 、 魔 方 矩 阵(magic)、 对 角 矩 阵 、 范 德 蒙 等 矩 阵 的创 建 , 就 不 一 一 介 绍 了 。注 意 : matlab严 格 区 分 大 小 写 字 母 , 因此 a与 A是 两 个 不 同 的 变 量 。 matlab函 数 名 必 须 小 写 。 3.用 m文 件 创 建 矩 阵对 于 比 较 大 且 比 较 复 杂 的 矩 阵 , 可以 为 它 专 门 建 立 一 个 M文 件 。 下 面 通过 一 个 简 单 例 子 来 说 明 如 何 利 用 M文件 创 建 矩 阵 。 例 利 用 M文 件 建 立 MYMAT矩 阵 。 (1) 启 动 有 关 编 辑 程 序 或 Matlab文 本 编 辑 器 ,并 输 入 待 建 矩 阵 。(2) 把 输 入 的 内 容 以 纯 文 本 方 式 存 盘 (设 文件 名 为 mymatrix.m)。(3) 在 Matlab命 令 窗 口 中 输 入 mymatrix, 即运 行 该 M文 件 , 就 会 自 动 建 立 一 个 名 为MYMAT的 矩 阵 , 可 供 以 后 使 用 。 4.用 冒 号 表 达 式 创 建 矩 阵利 用 冒 号 表 达 式 可 以 线 性 等 间 距 地 建 立 一个 向 量 来 创 建 矩 阵 一 般 格 式 是 : e1:e2:e3其 中 e1为 初 始 值 , e2为 步 长 , e3为 终 止 值 。 或 者 为 : ( start: step: end)例 a=1:2:10 a= 1 3 5 7 9 5. 矩 阵 的 修 改 直 接 修 改 可 用 键 找 到 所 要 修 改 的 矩 阵 , 用 键移 动 到 要 修 改 的 矩 阵 元 素 上 即 可 修 改 。 指 令 修 改 可 以 用 A(,)= 来 修 改 。 例 如a=1 2 0;3 0 5;7 8 9a =1 2 0 3 0 5 7 8 9a(3,3)=0a =1 2 0 3 0 5 7 8 0 还 可 以 用 函 数 subs修 改 , matlab6.0还可 用 find函 数 修 改 。 把 Matlab工 作 空 间 中 一 些 有 用 的 数据 长 久 保 存 下 来 的 方 法 是 生 成 mat数据 文 件 。 save 将 工 作 空 间 中 所 有 的 变量 存 到 matlab.mat文 件 中 。二 、 数 据 的 保 存 与 获 取默 认 文 件 名 save data将 工 作 空 间 中 所 有的 变 量 存 到 data.mat文 件 中 。save data a b 将 工 作 空 间 中a和 b变 量 存 到 data.mat文 件 中 。 下 次 运 行 Matlab时 即 可 用 load指令 调 用 已 生 成 的 mat文 件 。 load load data load data a b mat文 件 是 标 准 的 二 进 制 文 件 ,还 可 以 ASCII码 形 式 保 存 。即 可 恢 复 保存 过 的 所 有变 量 1. 矩 阵 加 、 减 ( , ) 运 算规 则 : 相 加 、 减 的 两 矩 阵 必 须 有 相 同 的 行 和列 两 矩 阵 对 应 元 素 相 加 减 。 允 许 参 与 运 算 的 两 矩 阵 之 一 是 标 量 。标 量 与 矩 阵 的 所 有 元 素 分 别 进 行 加减 操 作 。三 、 矩 阵 运 算 2. 矩 阵 乘 ( ) 运 算规 则 :A矩 阵 的 列 数 必 须 等 于 B矩 阵 的 行 数标 量 可 与 任 何 矩 阵 相 乘a=1 2 3;4 5 6;7 8 0;b=1;2;3;c=a*bc =14 32 23 d=-1;0;2; f=pi*df = -3.1416 0 6.2832 矩 阵 除 的 运 算 在 线 性 代 数 中 没 有 ,有 矩 阵 逆 的 运 算 , 在 matlab中 有 两 种矩 阵 除 运 算 。 两 种 除 法 : 和 /, 分 别 表 示 左 除 和 右 除 。如 果 A矩 阵 是 非 奇 异 方 阵 , 则 AB和 B/A运 算 可 以 实 现 。AB等 效 于 A的 逆 左 乘 B矩 阵 , 而 B/A等 效于 A矩 阵 的 逆 右 乘 B矩 阵 。对 于 矩 阵 来 说 , 左 除 和 右 除 表 示 两 种 不同 的 除 数 矩 阵 和 被 除 数 矩 阵 的 关 系 。 对于 矩 阵 运 算 , 一 般 ABB/A。 a p a 自 乘 p次 幂 方 阵 1的 整 数3. 矩 阵 乘 方 an,ap,pa对 于 p的 其 它 值 ,计 算 将 涉 及 特 征 值和 特 征 向 量 , 如 果 p是 矩 阵 , a是 标 量ap使 用 特 征 值 和 特 征 向 量 自 乘 到 p次幂 ; 如 a,p都 是 矩 阵 , ap则 无 意 义 。 a=1,2,3;4,5,6;7,8,9;a2 ans =30 36 42 66 81 96 102 126 150 当 一 个 方 阵 有 复 数 特 征 值 或 负 实特 征 值 时 , 非 整 数 幂 是 复 数 阵 。 a0.5 ans = 0.4498 + 0.7623i 0.5526 + 0.2068i 0.6555 -0.3487i 1.0185 + 0.0842i 1.2515 + 0.0228i 1.4844 - 0.0385i 1.5873 - 0.5940i 1.9503 - 0.1611i 2.3134 + 0.2717i inv 矩 阵 求 逆det 行 列 式 的 值eig 矩 阵 的 特 征 值diag 对 角 矩 阵 矩 阵 转 置sqrt 矩 阵 开 方4. 矩 阵 的 其 它 运 算 5. 矩 阵 的 范 数矩 阵 范 数 的 函 数 为 :(1) norm(V)或 norm(V,2): 计 算 矩 阵 V的 2范 数 。(2) norm(V,1): 计 算 矩 阵 V的 1范 数 。(3) norm(V,inf): 计 算 矩 阵 V的 范 数 。 6.矩 阵 的 一 些 特 殊 操 作矩 阵 的 变 维 a=1:12;b=reshape(a,3,4) c=zeros(3,4);c(:)=a(:)矩 阵 的 变 向 rot90:旋 转 ; fliplr:左 右 翻 ; flipud:上 下 翻矩 阵 的 抽 取 diag:抽 取 主 对 角 线 ;(对 于 非 方 阵 的 情 况 ?) tril: 抽 取 主 下 三 角 ; triu:抽 取 主 上 三 角 , 然 后 其 余 补 零 元 素矩 阵 的 扩 展 关 系 运 算 关 系 符 号 意 义= 小 于小 于 或 等 于大 于大 于 或 等 于等 于不 等 于 关 系 运 算 符 的 运 算 法 则(1) 当 两 个 比 较 量 是 标 量 时 , 直 接 比 较 两 数 的大 小 。 若 关 系 成 立 , 关 系 表 达 式 结 果 为 1,否 则 为 0。(2) 当 参 与 比 较 的 量 是 两 个 维 数 相 同 的 矩 阵 时 ,比 较 是 对 两 矩 阵 相 同 位 置 的 元 素 按 标 量 关系 运 算 规 则 逐 个 进 行 , 并 给 出 元 素 比 较 结果 。 最 终 的 关 系 运 算 的 结 果 是 一 个 维 数 与原 矩 阵 相 同 的 矩 阵 , 它 的 元 素 由 0或 1组 成 。 (3) 当 参 与 比 较 的 一 个 是 标 量 , 而 另 一 个 是 矩 阵时 , 则 把 标 量 与 矩 阵 的 每 一 个 元 素 按 标 量 关系 运 算 规 则 逐 个 比 较 , 并 给 出 元 素 比 较 结 果 。最 终 的 关 系 运 算 的 结 果 是 一 个 维 数 与 原 矩 阵相 同 的 矩 阵 , 它 的 元 素 由 0或 1组 成 。注 意 : 其 书 写 方 法 与 数 学 中 的 不 等 式 符 号 不 尽相 同 。 数 组 运 算 指 元 素 对 元 素 的 算 术 运 算 ,与 通 常 意 义 上 的 由 符 号 表 示 的 线 性 代 数矩 阵 运 算 不 同 。1. 数 组 加 减 (.+,.-) a.+b a.- b7. 矩 阵 的 数 组 运 算 对 应 元 素 相 加 减 ( 与 矩 阵 加减 等 效 ) 2. 数 组 乘 除 (, ./, .)ab a, b两 数 组 必 须 有 相 同 的 行 和 列 两 数 组 相 应 元 素 相 乘 。a=1 2 3;4 5 6;7 8 9;b=2 4 6;1 3 5;7 9 10;a.*bans = 2 8 18 4 15 30 49 72 90 a=1 2 3;4 5 6;7 8 9;b=2 4 6;1 3 5;7 9 10;a*bans = 25 37 46 55 85 109 85 133 172 a./b=b.aa.b=b./aa./b=b.a 都 是 a的 元 素 被 b的 对 应 元 素 除 , “ /”是 斜 杠a.b=b./a 都 是 b的 元 素 被 a的 对 应 元 素 除 , “ ”是 反 斜 杠例 : a=1 2 3;b=4 5 6; c1=a.b; c2=b./ac1 = 4.0000 2.5000 2.0000c2 = 4.0000 2.5000 2.0000 给 出 a,b对 应 元 素 间 的 商 . 3. 数 组 乘 方 (.) 元 素 对 元 素 的 幂例 :a=1 2 3;b=4 5 6;z=a.2z = 1.00 4.00 9.00z=a.bz = 1.00 32.00 729.00 (1 .4 2 .5 3 .6) matlab语 言 把 多 项 式 表 达 成 一 个 行 向 量 ,该 向 量 中 的 元 素 是 按 多 项 式 降 幂 排 列 的 。 f(x)=a0 xn+a1xn-1+an-1x+an 可 用 行 向 量 p=a0 a1 an-1 an 表 示1. poly 产 生 特 征 多 项 式 系 数 向 量特 征 多 项 式 一 定 是 n+1维 的特 征 多 项 式 第 一 个 元 素 一 定 是 1四 、 多 项 式 运 算 例 :a=1 2 3;4 5 6;7 8 0;p=poly(a)p =1.00 -6.00 -72.00 -27.00p是 多 项 式 p(x)=x3-6x2-72x-27的 系 数matlab描 述 方 法 , 我 们 可 用 :p1=poly2str(p,x) 函 数 文 件 , 显 示数 学 多 项 式 的 形 式p1 =x3 - 6 x2 - 72 x 27注 意 : 多 项 式 中 缺 少 的 幂 次 用 0补 齐 。 2.roots 求 多 项 式 的 根a=1 2 3;4 5 6;7 8 0;p=poly(a)p = 1.00 -6.00 -72.00 -27.00r=roots(p)-求 由 p构 成 的 多 项 式 的 根r = 12.12 -5.73 显 然 r是 矩 阵 a的 特 征 值 -0.39 当 然 我 们 可 用 poly令 其 返 回 多 项 式形 式 (这 是 poly的 第 二 个 功 能 )p2=poly(r)p2 = 1.00 -6.00 -72.00 -27.00matlab规 定 多 项 式 系 数 向 量 用 行向 量 表 示 , 一 组 根 用 列 向 量 表 示 。 P=poly(r),输 入 r是 多 项 式 所 有 根 , 返 回 值为 代 表 多 项 式 的 行 向 量 形 式 。P=poly(A), 输 入 是 N*N的 方 阵 , 返 回 值 p是 长 度 为 N+1的 行 向 量 多 项 式 , 它 是 矩阵 A的 特 征 多 项 式 , 也 就 是 说 多 项 式 p的根 是 矩 阵 A的 特 征 值 。 求 根 的 另 一 种 方 法str1=x3-6x2-72x-27;p1=str2poly(str1);r=roots(p1);注 : str2poly 实 现 把 一 个 字 符 串 表 示 的 多 项 式 转 换 为一 个 行 向 量 表 示 的 多 项 式 。 poly2str 同 理 。 3.conv多 项 式 乘 运 算 (向 量 卷 积 )例 :a(x)=x2+2x+3; b(x)=4x2+5x+6;c = (x2+2x+3)(4x2+5x+6)a=1 2 3;b=4 5 6;c=conv(a,b)或 c=conv(1 2 3,4 5 6)c = 4.00 13.00 28.00 27.00 18.00p=poly2str(c,x) 其 中 x表 示 自 变 量 p = 4 x4 + 13 x3 + 28 x2 + 27 x + 18 4.deconv多 项 式 除 运 算 (解 卷 积 )a=1 2 3; c = 4.00 13.00 28.00 27.00 18.00d=deconv(c,a)d =4.00 5.00 6.00d,r=deconv(c,a)余 数c除 a后 的 整 数它 们 之 间 的 关 系 为 : c = conv(a,d)+r 5.多 项 式 导 数 或 微 分matlab提 供 polyder函 数 计 算 多 项 式 的 导 数 。命 令 格 式 :polyder(p): 求 p的 导 数polyder(a,b): 求 多 项 式 a,b乘 积 的 导 数p,q=polyder(a,b): 求 多 项 式 a除 以 b的 商 的导 数 , 并 以 p/q的 格 式 表 示 。 例 : a=1 2 3 4 5; poly2str(a,x)ans = x4 + 2 x3 + 3 x2 + 4 x + 5b=polyder(a)b = 4 6 6 4poly2str(b,x)ans =4 x3 + 6 x2 + 6 x + 4 6.多 项 式 的 积 分matlab提 供 polyint函 数 计 算 多 项 式 的 积 分 。命 令 格 式 :polyint(p,k): 求 多 项 式 p的 积 分 , 设 积 分 的常 数 项 为 k, polyint(p) 默 认 k=0 例 : a=1 2 3 4 5; poly2str(a,x)ans = x4 + 2 x3 + 3 x2 + 4 x + 5b=polyint(a,8)b = 0.2 0.5 1.0 2.0 5.0 8.0poly2str(b,x)ans =0.2 x5 + 0.5 x4 + x3 + 2 x2 + 5 x + 8 五 、 代 数 方 程 组 求 解matlab中 有 两 种 除 运 算 左 除 和 右 除 。对 于 方 程 ax=b, a 为 an m矩 阵 , 有 三 种 情 况 : 当 n=m时 , 此 方 程 成 为 “ 恰 定 ” 方 程 当 nm时 , 此 方 程 成 为 “ 超 定 ” 方 程 当 n1 2 3 4 1 2 3 4 5 6 7 8 5 6 7 8 九 、 拟 合 与 插 值1. 多 项 式 拟 合 采 用 最 小 二 乘 法 对 给 定 的 数 据 进 行 多 项 式拟 合 , 最 后 给 出 多 项 式 的 系 数 。 p=polyfit(x,y,n), 采 用 n次 多 项 式 p来 拟 合数 据 x和 y, 从 而 使 得 y与 p(x)最 小 均 方差 最 小 。 x0=0:0.1:1;y0=-.447 1.978 3.11 5.25 5.02 4.66 4.01 4.58 3.45 5.35 9.22;p=polyfit(x0,y0,3)p = 56.6915 -87.1174 40.0070 -0.9043xx=0:0.01:1;yy=polyval(p,xx);plot(xx,yy,-b,x0,y0,or) 曲 线 拟 合 图 形 用 户 接 口Matlab7.0提 供 了 支 持 曲 线 拟 合 的 图 形 用 户 接 口 。在 “ Figure”窗 口 “ ToolsBasic Fitting”菜 单 中 。为 了 使 用 该 工 具 , 先 用 待 拟 合 的 数 据 画 图 。x=0:0.2:10; y=0.25*x+20*sin(x);plot(x,y,ro);在 复 选 框 “ Plot fits”中 选 择 “ cubic”。 2.插 值插 值 的 定 义 是 对 某 些 集 合 给 定 的 数 据 点之 间 函 数 的 估 值 方 法 。当 不 能 很 快 地 求 出 所 需 中 间 点 的 函 数 时 , 插值 是 一 个 非 常 有 价 值 的 工 具 , 它 可 以 在 已 知数 据 之 间 寻 找 估 计 值 , 常 用 到 信 号 处 理 和 图像 处 理 中 。Matlab提 供 了 一 维 、 二 维 、 三 次 样 条 等 许 多插 值 选 择 。 interp1一 维 插 值 interp2二 维 插 值interp3三 维 插 值spline三 次 样 条 插 值griddata 栅 格 数 据 插 值v 利 用 已 知 点 确 定 未 知 点v 粗 糙 精 确v 集 合 大 的 简 化 的 一 维 插 值 就 是 对 一 维 函 数 y=f(x)进 行 插 值 。yi=interp1(x,y,xi,method),x必 须 是 向 量 , y可 以是 向 量 也 可 以 是 矩 阵 。 (x,y)代 表 的 是 已 知 数 据 。这 时 , xi代 表 需 要 估 计 值 的 位 置 , yi表 示 插 值后 的 估 计 值 。 method用 于 指 定 插 值 的 方 法 :1.method=nearest, 在 已 知 数 据 的 最 临 近 点 设 置 插值 点 , 对 插 值 点 的 数 进 行 四 舍 五 入 。 对 超 出 范 围 的 点返 回 一 个 NaN。 此 方 法 是 最 快 的 插 值 方 法 , 但 数 据 平滑 方 面 最 差 , 其 得 到 的 数 据 是 不 连 续 的 。 2.method=linear, 采 用 直 线 连 接 相 邻 的 两点 , 即 线 性 插 值 , 是 此 函 数 的 缺 省 默 认 方法 。 执 行 速 度 比 最 临 近 插 值 稍 慢 , 数 据 平滑 要 由 于 临 近 插 值 , 且 数 据 是 连 续 的 。3. method=spline, 采 用 三 次 样 条 函 数 来获 得 插 值 点 。 处 理 速 度 最 慢 , 可 以 产 生 最光 滑 的 结 果 。 Matlab提 供 了 一 个 样 条 插 值工 具 箱 , 位 于 toolboxsplines下 。4. method=pchip, 采 用 分 段 三 次 埃 尔 米特 多 项 式 插 值 。 例 : x=0:2*pi;y=sin(x);xi=0:0.1:8;yi1=interp1(x,y,xi, linear)yi2=interp1(x,y,xi, nearest)yi3=interp1(x,y,xi, spline)yi4=interp1(x,y,xi, cubic)p=polyfit(x,y,3);yy=polyval(p,xi);subplot(3,2,1);plot(x,y,o);subplot(3,2,2);plot(x,y,o,xi,yy);subplot(3,2,3);plot(x,y,o,xi,yi1);subplot(3,2,4);plot(x,y,o,xi,yi2);subplot(3,2,5);plot(x,y,o,xi,yi3);subplot(3,2,6);plot(x,y,o,xi,yi4); 二 维 插 值二 维 插 值 主 要 应 用 于 图 像 处 理 和 数 据 的 可 视化 , 对 双 变 量 的 函 数 z=f(x,y)进 行 插 值 。zi=interp2(x,y,z,xi,yi,method),原 始 数 据 x,y,z决 定 插 值 函 数 z=f(x,y),返 回 值 zi是 (xi,yi)在 函数 f(x,y)上 的 值 。method同 样 可 以 采 用 最 临 近 插 值 、 双 线 性插 值 、 三 次 样 条 插 值 。 小 结 本 节 介 绍 了 matlab语 言 的 数 值 运 算功 能 , 通 过 学 习 应 该 掌 握 : 如 何 创 建 矩 阵 、 修 改 矩 阵 符 号 的 用 法 矩 阵 及 数 组 运 算 多 项 式 运 算 线 性 方 程 组 与 微 分 运 算
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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