




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
11 级级 MATLAB 上机实验练习题上机实验练习题 1 给出一个系数矩阵 A 2 3 4 5 4 1 1 3 2 U 1 2 3 求出线性方程组的一个精确解 2 给出两组数据 x 0 0 3 0 8 1 1 1 6 2 3 y 0 82 0 72 0 63 0 60 0 55 0 50 我们可以简单的 认为这组数据在一条衰减的指数函数曲线上 y C1 C2e t通过曲线拟合求出这条衰减曲线 的表达式 并且在图形窗口画出这条曲线 已知的点用 表示 3 解线性方程 4 通过测量得到一组数据 5 已知一组测量值 6 从某一个过程中通过测量得到 分别采用多项式和指数函数进行曲线拟合 7 将一个窗口分成四个子窗口 分别用四种方法做出多峰函数的表面图 原始数据法 临近 插值法 双线性插值法 二重三次方插值法 8 在同一窗口使用函数作图的方法绘出正弦 余弦 双曲正弦 双曲余弦 分别使用不同的 颜色 线形和标识符 9 下面的矩阵 X 表示三种产品五年内的销售额 用函数 pie 显示每种产品在五年内的销售额 占总销售额的比例 并分离第三种产品的切片 X 19 322 151 6 34 270 382 4 61 482 990 8 50 554 959 1 29 436 347 0 10 对应时间矢量 t 测得一组矢量 y t00 30 81 11 62 3 y0 50 821 141 251 351 40 采用一个带有线性参数的指数函数进行拟合 y a0 a1e t a2te t 利用回归方法求出拟合函数 并画出拟合曲线 已知点用圆点表示 11 请创建如图所示的结构数组 9 分 姓名编号指标 江明顺071023身高 176 体重 82 于越忠060134身高 168 体重 74 邓拓050839身高 182 体重 77 12 创建如图所示的元胞数组 9 分 13 某钢材厂从 1990 年到 2010 年的产量如下表所示 请利用三次样条插值的方法计算 1999 年该钢材厂的产量 并画出曲线 已知数据用 表示 要求写出达到题目要求的 MATLAB 操作过程 不要求计算结果 年份19901992199419961998200020022004200620082010 产量 万吨 75 99591 972105 711123 203131 669150 697179 323203 212226 505249 633256 344 14 在一次化学动力学实验中 在某温度下乙醇溶液中 两种化合物反应的产物浓度与反应 时间关系的原始数据如下 请对这组数据进行三次多项式拟合 并画出拟合曲线 已知数据 如下 time 2 5 5 0 7 5 10 0 13 0 17 0 20 0 30 0 40 0 50 0 60 0 70 0 res 0 29 0 56 0 77 1 05 1 36 1 52 2 00 2 27 2 81 3 05 3 25 3 56 15 请在 2 x 2 2 y A 2 3 4 5 4 1 1 3 2 U 1 2 3 X A U X 0 8148 1 6667 0 5926 2 t 0 0 3 0 8 1 1 1 6 2 3 y 0 82 0 72 0 63 0 60 0 55 0 50 E ones size t exp t C E y C 0 4760 0 3413 x 0 0 01 2 5 z 0 4760 0 3413 exp x plot t y O x z r 00 511 522 5 0 5 0 55 0 6 0 65 0 7 0 75 0 8 0 85 0 9 3 A 3 1 0 5 0 6 7 3 0 4 3 0 2 1 2 6 Y 2 4 7 8 X A Y X 4 8247 1 3944 0 4741 3 0159 4 t 1 2 3 4 5 6 7 8 9 10 y 4 842 4 362 3 754 3 368 3 169 3 083 3 034 3 016 3 012 3 005 E1 ones size t exp t C E1 y C 3 1621 5 1961 E2 ones size t t exp t D E2 y D 3 0039 5 0046 x 1 0 01 10 y1 3 1621 5 1961 exp x y2 3 0039 5 0046 x exp x plot t y O x y1 r x y2 b 12345678910 3 3 5 4 4 5 5 5 5 p1 polyfit t y 2 p1 0 0411 0 63835 3937 p2 polyfit t y 3 p2 0 00410 1085 0 94935 7443 y3 polyval p1 x y4 polyval p2 x plot t y O x y3 r x y4 b 12345678910 2 5 3 3 5 4 4 5 5 6 t 0 0 2 0 4 0 6 0 8 1 0 2 0 5 0 y 1 0 1 51 1 88 2 13 2 29 2 40 2 60 4 00 p polyfit t y 4 p 0 09930 7935 2 28412 98820 9995 E ones size t exp t C E y C 0 0565 2 5674 x 0 0 001 5 y1 0 0565 2 5674 exp x y2 polyval p x plot t y O x y1 r x y2 b 00 511 522 533 544 55 5 4 3 2 1 0 1 2 3 7 001function compare interp 002 COMPARE INTERP 不同插值运算的比较 003 004 原始数据 005 x y meshgrid 3 1 3 006z peaks x y 007figure 1 clf 008surfc x y z 009title 原始数据 010 进行插值运算 011 xi yi meshgrid 3 0 25 3 012zi1 interp2 x y z xi yi nearest 013zi2 interp2 x y z xi yi linear 014zi3 interp2 x y z xi yi cubic 015zi4 interp2 x y z xi yi spline 016 通过可视化结果比较 017figure 2 018subplot 2 2 1 surf xi yi zi1 019title 二维插值 nearest 020subplot 2 2 2 surf xi yi zi2 021title 二维插值 linear 022subplot 2 2 3 surf xi yi zi3 023title 二维插值 cubic 024subplot 2 2 4 surf xi yi zi4 025title 二维插值 spline 026 可视化结果 027figure 3 028subplot 2 2 1 contour xi yi zi1 029title 二维插值 nearest 030subplot 2 2 2 contour xi yi zi2 031title 二维插值 linear 032subplot 2 2 3 contour xi yi zi3 033title 二维插值 cubic 034subplot 2 2 4 contour xi yi zi4 035title 二维插值 spline 4 2 0 2 4 4 2 0 2 4 6 4 2 0 2 4 6 原 始 数 据 5 0 5 5 0 5 10 0 10 二 维 插 值 nearest 5 0 5 5 0 5 10 0 10 二 维 插 值 linear 5 0 5 5 0 5 10 0 10 二 维 插 值 cubic 5 0 5 5 0 5 10 0 10 二 维 插 值 spline 8 x pi pi 4 pi y1 sin x y2 cos x y3 sinh x y4 cosh x plot x y1 rO x y2 b x y3 gs x y4 k 4 3 2 101234 15 10 5 0 5 10 15 9 X 19 3 22 1 51 6 34 2 70 3 82 4 61 4 82 9 90 8 50 5 54 9 59 1 29 4 39 3 47 x sum X x 194 8000269 5000330 9000 explode 0 0 1 pie x explode 24 34 42 10 t 0 0 3 0 8 1 1 1 6 2 3 y 0 5 0 82 1 14 1 25 1 35 1 40 E ones size t exp t t exp t E 1 00001 00000 1 00000 74080 2222 1 00000 44930 3595 1 00000 33290 3662 1 00000 20190 3230 1 00000 10030 2306 A E y A 1 3974 0 8988 0 4097 x 0 0 01 2 5 Y 1 3974 0 8988 exp x 0 4097 x exp x plot t y O x Y r 00 511 522 5 0 4 0 6 0 8 1 1 2 1 4 1 6 11 A struct name 江明顺 于越忠 邓拓 NO 071023 060134 050839 A 1 level struct height 176 weight 82 A 1x3 struct array with fields name NO level A 2 level struct height 168 weight 74 A 1x3 struct array with fields name NO level A 3 level struct height 182 weight 77 A 1x3 struct array with fields name NO level 12 B cell 1 2 B 1 1 struct date 2007 06 04 billing 125 7 389 3 254 9 538 5 B 1x1 struct B 1 2 struct name maggie profession teacher hobby dance B 1x1 struct 1x1 struct cellplot B 13 year 1990 2 2010 product 75 99591 972105 711123 203131 669150 697179 323203 212226 505 249 633256 344 p1999 interp1 year product 1999 spline x 1990 1 2010 y interp1 year product x spline plot year product x y 14 X 2 5 5 0 7 5 10 0 13 0 17 0 20 0 30 0 40 0 50 0 60 0 70 0 Y 0 29 0 56 0 77 1 05 1 36 1 52 2 00 2 27 2 81 3 05 3 25 3 56 P polyfit X Y 3 x 2 5 0 1 70 y polyval P x plot X Y O x y gird on 15 clear x 2 0 2 2 y 2 0 2 2 X Y meshgrid x y Z X exp X 2 Y 2 mesh X Y Z 16 x 0 pi 10 2 pi y1 sin x y2 cos x plot x y1 x y2 grid on xlabel Independent Variable X ylabel Dependent Variable Y1 Y2 title Sine and Cosine Curve text 1 5 0 3 cos x axis 02 pi 0 90 9 复习要点复习要点 矩阵产生和操作矩阵产生和操作 一 diag 对角矩阵和矩阵的对角化 1 x diag v 产生 v 的元素处于主对角线的对角方阵 v 为 n 元向量 x diag 1 2 3 x 100 020 003 2 x diag v k k 表示 v 的元素处在第 k 条对角线上 k 0 主对角线y diag 1 2 3 1 k 0 主对角线上y 0100 k 0 主对角线下0020 0003 0000 3 v diag x k x 为矩阵 v 为列向量 x 的第 k 条对角线上的元素 z 944v diag z v diag z 1 2809 678v 8v 2 87 二 reshape 阵列重新排列 B reshape A m n 把 A 重新排成 m n 的矩阵 B 矩阵元素是按列存储的 A 9684D reshape A 4 2 D 98 247027 64 40 三 rot 90 矩阵旋转 90o 反时针 rot 90 A k 将 A 反时针旋转 k 90o A 537B1 rot 90 A 区别于 A B2 A 723B1 735B2 574 425322322 574735 B3 rot 90 A 3 B3 475 223 537 四 fliplr 左右翻转 列 A 9684B fliplr A 2470B 4869 0742 五 flipud 上下翻转 行 B flipud A B 2470 9684 六 tril 下三角阵 L tril x k B1 tril A 1 A 9684B1 9600 24702470 七 triu 上三角阵 L triu x k B2 triu A 1 B2 0684 0070 八 cat 阵列连接C cat dim A B 将 A B 在 dim 维连接起来 G cat 1 B1 B2 G 9600 2470 0684 0070 九 repmat 复制并平铺阵列 1 B repmat A m n A 为矩阵 将 A 平铺成 m n 格式 A 1 2 3 4 B repmat A 2 3 B AAA AAA 2 B repmat A 2 3 A 为标量B repmat 5 2 3 B 555 555 十 Meshigrid X Y meshgrid 1 4 1 4 X 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 Y 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 矩阵逻辑运算矩阵逻辑运算 1 all 矩阵所有元素是否非零 有 1 个或多个 0 0 A 为向量 All A A 为矩阵 按列 a 1 2 0 4 b au 0 b 01 2 any 测试任意非零值 只要有不是 0 1 B any A 所有都为 0 0 a 1 2 0 4 0 0 0 5 0 any a ans 1 1 0 3 find 查找非零元素的值和下标k find x 阵列中 i j find x 矩阵中 i j v find x v 为值 可得 v 值的列 a zeros 5 20 a 3 7 0 5 i 3j 7v 0 5000 a 4 15 0 4 415 0 4000 i j v find a 4 exist 检查给定变量或文件是否存在 a exist item ident exist item kind 5 is 检测状态 A one 3 3 s ad3fi A isletter isempty A ans 1 1 0 1 1 ans 1 6 logical 数值转变成逻辑值 logical A 返回能够用于逻辑索引或逻辑测试的数组 A logical eye 3 A 100B rand 3 B 0 44470 92180 4057 0100 61540 73820 9355 0010 79190 17630 9169 B A ans 0 4447 0 7382 0 9109 字符串部分字符串部分 字符串的比较字符串的比较 三种情况 1 比较两个字符串或两个字符串的一部分是否相等 2 逐个比较两个字符串中的字符 判别是否相等 3 对字符串中的每一个元素进行分类判别是字符还是空格 一 比较两个字符串 strcmp strcmp判别两个字符串是否相等 strncmp判别两个字符的前 n 个字符是否相等 Strncmp Eg str1 hello str2 help strcmp str1 str2 ans 0 strcmp str1 str2 3 ans 1 这两个函数还可以比较两个字符串的单元数组 Eg A pizza chips candy cake beer B pizza chololate pretzels beef beer strcmp A B strcmp A B 1 strncmp A B 4 ans 1ans 1ans 1 010 000 000 1 11 二 用运算符比较字符串 比较两个字符串中对应字符是否相同 A fate B cake A B ans 0101 表示不等于 A B ans 1010 三 字符串中字符的分类 isletter 是否为字母isspace是否为空格或制表符 mystring Room 401 A isletter mystring A 11110000 B isspace mystring B 00001000 对二维数组也可以 Eg A 1 2A 13 B L isletter A S isspace A L 0001S 0100 00010010 对单元矩阵形式的字符串 不能直接应用这两个函数 但可以对指定的单元进行判别 Eg strcell pi za chi s can y cake er LL isletter strcell 1 LL 11011 SS isspace strcell 2 SS 00010 字符串的查找与替换字符串的查找与替换 一 strrep 可实现标准的查找与替换 Eg label sample 1 10 28 95 newlabel strrep label 10 28 95 12 20 1999 newlabel sample 1 12 20 1999 二 findstr 用于在字符串中查找指定的子串 找到一个子串返回开始位置 找到多个子串用一个矢量指出它们的位置 没找到返回 Eg position findstr 1 newlabel position 81117 position find wa newlabel position 三 strtok 先在字符串中查找分隔字符 如空格 制表符等 然后返回第 1 个分隔符前的子串 Eg first strtok label first sample first strtok label 1 first sample 1 10 知识要点知识要点 MATLAB 的特点的特点 1 以复数矩阵作为基本编程单元 使操作变得轻而易举 矩阵不需定义 2 语句简单 编程效率高 用数学语言编写比 C Basic Fortran 更加接近人们书写计算公式的思维方式 MATLAB 俗称演算纸式科学算法语言 3 语句功能强大 相当于其它高级语言中的几十条 几百条语句 4 丰富的绘图功能 线性坐标 对数坐标 极坐标 只须调用不同的绘图函数命令 5 提供许多面向应用问题求解的工具箱函数 6 易扩展性 MATLAB 系统中系统中 Simulink 和和 Stateflow 两个重要部件两个重要部件 Simulink 是基于 MATLAB 的框图设计环境 可以用来对各种动态系统进行建模 分析和仿真 它的建模 范围广泛 可以针对任何能够用数学来描述的系统进行建模 Stateflow 是一个交互式的设计工具 它基于 有限状态机的理论 可以用来对复杂的事件驱动系统进行建模和仿真 Stateflow 与 Simulink 和 MATLAB 紧密集成 可以将 Stateflow 创建的复杂控制逻辑有效地结合到 Simulink 的模型中 显示 清除变量显示 清除变量 who whos 显示变量列表 whos 还可以列出变量的大小及数据类型 clear 清除工作空间中的所有变量 clear 变量名 只清除指定变量 保存和恢复工作空间保存和恢复工作空间 1 保存工作空间save 把工作空间保存在二进制 MAT 文件中 整个内容 1 save worksp1 把当前工作空间保存在 worksp1 mat 文件中 2 save worksp2 mydata1 mydata2 仅保存 mydata1 mydata2 两个变量到 worksp2 mat 文件中 3 File save workspace As 加载加载 恢复恢复 工作空间工作空间 load worksp1 当前工作空间与加载的工作空间具有相同的变量后 加载的变量自动覆盖与原工作空间同 名的变量 diary 指令指令 diary 指令的功能是创建一个日志文件 在这个文件中 能够把所有在 MATLAB 命令行键入的指令以 及在命令行窗口的输入保存下来 这个日志文件为纯文本格式 可以利用任何一种文本编辑器编辑这个文 件 在使用 diary 指令时 若不指定文件名 则 MATLAB 自动创建一个默认文件名 diary 注意 该文件没 有扩展名 为纯文本文件 的日志文件 并且进入到历史日志记录状态 在日志文件中将记录所有在命令行 窗口中键入的指令以及这些指令运行的结果 注意 diary 记录指令的功能也仅在执行 diary 指令之后的 MATLAB 会话中有效 一旦关闭了 MATLAB 再次启动时 则 diary 指令需要重新键入 工作路径工作路径 MATLAB 的工作路径就是当前的路径 MATLAB 启动时采用默认的路径作为当前工作路径 这样所 有的 MATLAB 文件保存和读取都将从该路径下开始 在 Windows 平台下 MATLAB 提供了一个路径 matlabroot work 在 MATLAB 首次启动时 就会使用该路径作为当前的工作路径 变量的特点变量的特点 新变量 自动建立变量并分配存储空间 旧变量 更新其内容 有必要时重新分配存储空间 变量的构成变量的构成 字母 数字和下划线 以字母开头 最长为 63 个字符 区分大小写 矩阵元素的访问矩阵元素的访问 访问矩阵的元素也需要使用矩阵元素的索引 不过具有两种方式 第一种方式是使用矩阵元素的行列全下标形式 第二种方法是使用矩阵元素的单下标形式 逻辑数据类型逻辑数据类型 所谓逻辑数据类型就是仅具有两个数值的一种数据类型 其中 一个数值为TRUE 另外一个数值为FALSE 在 MATLAB 中 参与逻辑运算或者关系运算的并不一定必须有逻辑类型的数据 任何数值都可以参与逻 辑运算 这时 MATLAB 将所有非零值看作逻辑真 将零值看作逻辑假 一般地 1 表示逻辑真 0 表示 逻辑假 脚本文件脚本文件 脚本文件是一种简单的 M 文件 它没有输入输出 可以是一系列在命令行中执行的命令的集合 仅可 以操作工作空间中的变量或程序中新建的变量 函数的程序结构函数的程序结构 一 函数定义行 functiony mean x 函数定义输出输入变量 关键字变量函数名 function x y z sphere theta phi rho M 文件中包含一个函数 并确定调用的参数及次序 二 H1 行 帮助文本的首行 函数定义后的第一行注释语句可用 help function name 命令显示 也可以用 lookfor 命令搜索其中字符 三 帮助文本 以 开头 详细说明这一函数 H1 行之后到函数体之前的注释 帮助文本 可用 help function name 命令显示 四 函数体 完成指定功能的语句实体 包含所有计算和为输出参数赋值的代码 m n size x if m 1 n 1 c 1 n 1 error Input must be a vector end y sum x length x 五 注释 开头在行尾结束 H1 行与帮助文本都可以用 help 命令查看 其它注释都不可以用 help 查看 脚本文件和函数文件的比较脚本文件和函数文件的比较 脚本文件函数文件 定义行无需定义行必须有定义行 输入 输出变量无有 数据传递直接访问基本工作 空间中的所有变量 通过输入变量获得输入数据 通过输出变量提交结果 编程方法直接选取 MATLAB 中执行的语句 精心设计完成指定功能 用途重复操作MATLAB 功能扩展 函数文件去掉其第一行的定义行就转变成了脚本文件带来几个问题函数文件去掉其第一行的定义行就转变成了脚本文件带来几个问题 基本工作空间中与脚本文件中同名的变量会引起冲突 使基本工作空间中变量数急剧增加 造成内存紧张 编程时要细心考虑各个脚本文件所用到的变量 创建字符串创建字符串 创建字符串时 只要将字符串的内容用单引号包含起来就可以了 若需要在字符串内容中包含单引号 则需要在键入字符串内容时 连续键入两个单引号即可 元胞数组元胞数组 元胞数组是 MATLAB 的一种特殊数据类型 可以将元胞数组看成作为一种无所不包的通用矩阵 或 者叫作广义矩阵 组成元胞数组的元素可以是任何一种数据类型的常数或者常量 每一个元素也可以具有 不同的尺寸和内存占用空间 每一个元素的内容也可以完全不同 所以元胞数组的元素叫做元胞 和一般 的数值矩阵一样 元胞数组的内存空间也是动态分配的 元胞数组的维数不受限制 元胞数组可以是一维 的 二维的 甚至也可以是多维的 访问元胞数组的元素可以使用单下标或者全下标方式 胞数组可以是 实数组或复数组 也可以是字符型数组和结构数组 可以是二维的 也可以是多维的 结构结构 结构是包含一组记录的数据类型 而记录则存储在相应的字段中 结构的字段可以是任意一种 MATLAB 数据类型的变量或者对象 结构类型的变量可以是一维的 二维的或者多维的数据 不过 在访 问结构类型数据的元素时 需要使用下标配合字段的形式 知识点知识点 1 MATLAB 中使用行矢量表示多项式的系数 行矢量中的各元素按照多项式的项的次数从高到低排列 2 私有函数在 MATLAB 中是指位于特定子目录 private 下的函数 私有函数仅可被父目录中函数调用 其他目录中可以存在同名的私有函数 3 save 命令可将工作空间中的所有变量以二进制的格式保存到 matlab mat 文件中 这些变量可由 load 命 令重新装入 save filename 可保存到指定的 filename mat 文件中 4 在 MATLAB 中 参与逻辑运算或者关系运算的并不一定必须有逻辑类型的数据 任何数值都可以参与 逻辑运算 这时 MATLAB 将所有非零值看作逻辑真 将零值看作逻辑假 一般地 1 表示逻辑真 0 表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师招聘之《小学教师招聘》押题模拟及完整答案详解【考点梳理】
- 白莲河水库加固工程施工组织设计方案
- 教师招聘之《小学教师招聘》强化训练题型汇编及答案详解(典优)
- 智能楼宇与设施管理创新创业项目商业计划书
- 教师招聘之《小学教师招聘》考前冲刺练习题含答案详解(能力提升)
- 2025内蒙古鄂尔多斯东胜区第五小学分校塔拉壕小学招聘1人笔试备考附答案详解(突破训练)
- 2025年教师招聘之《幼儿教师招聘》练习题库包及参考答案详解(新)
- 2025年教师招聘之《幼儿教师招聘》模拟试题及一套答案详解
- 教师招聘之《小学教师招聘》强化训练题型汇编含完整答案详解【全优】
- 考点攻克公务员考试《常识》同步练习练习题(含答案详解)
- GB/T 7778-2017制冷剂编号方法和安全性分类
- 《抗病育种》课件
- 罗湖区-空气质量状况及原因分析
- 2013版电力建设工程概预算定额宣贯讲义
- 汽车吊装t梁施工方案(终)
- 【七年级上】书法教案
- 《水循环》-完整版课件
- 轮胎印痕分析与运用课件
- 库房温湿度记录表
- 10KV电力安全工器具试验报告
- (精选word)英语四线格(a4打印)
评论
0/150
提交评论