




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖 北 汽 车 工 业 学 院 毕 业 论 文 I MATLAB 教程 课后习题参考答案教程 课后习题参考答案 参考答案 仅供参考 参考答案 仅供参考 若有错漏 欢迎指正 若有错漏 欢迎指正 编写人 湖北汽车工业学院 汽车系教师 黄兵锋 声声 明明 1 这是我个人拟定的参考答案 不是标准这是我个人拟定的参考答案 不是标准 答案 若有不良后果 我不负责 当然 答案 若有不良后果 我不负责 当然 我已经尽力做正确了 我已经尽力做正确了 2 考题可能源于这些题目 但会考题可能源于这些题目 但会 变形变形 3 我不能保证把所有题目都做完 我不能保证把所有题目都做完 4 每次的更新 不仅仅是增加一章 也对每次的更新 不仅仅是增加一章 也对 前一章的错漏有所修正 前一章的错漏有所修正 湖 北 汽 车 工 业 学 院 毕 业 论 文 II 目录目录 习题习题 1 1 习题习题 2 3 习题习题 3 7 习题习题 5 13 习题习题 6 22 习题习题 7 24 湖 北 汽 车 工 业 学 院 毕 业 论 文 1 习题 1 1 在安装 MATLAB 软件时 那个组件是必须选择的 必须选择的组件是 MATLAB 7 x 如图所示第二项第二项 2 数字 1 5e2 1 5e3 中的哪个与 1500 相同 1 5e3 与 1500 相同 3 请指出如下 5 个变量名中 那些是合法的 abcd 2 xyz 3 3chan a 变量 ABCDefgh MATLAB 的变量可以由字母 数字 即下划线 组成 但必须是由字母开头 不能出现其他标点符号或者中文 合法的变量有 xyz 3 和 ABCDefgh 4 在 MATLAB 中 比 1 大的最小数是多少 比 1 大的最小数是 1 eps 不是 1 realmin 分析如下 请输入下面的指令 并观察运算结果 a 1 0 eps b 1 0 realmin a b a 1 b 1 a 1 0000 b 1 ans 2 2204e 016 ans 0 说明 输入的是 1 0 不是 1 是为了强制将变量 a b 设置为小数 其实输入 1 eps 结果是一样的 5 设 a 8 运行以下三条指令 问运行结果相同吗 为什么 a 8 湖 北 汽 车 工 业 学 院 毕 业 论 文 2 w1 a 2 3 w2 a 2 1 3 w3 a 1 3 2 w1 2 0000 3 4641i w2 4 0000 w3 2 0000 3 4641i 所以 第 2 条指令与第 1 3 两条指令运行结果不同 原因在于第 2 条指令先将 8 平方 所得结果为正数 然后开方 6 指令 clear clf clc各有什么用处 clear 清除内存中所有由用户定义的变量 clf清除当前窗口对象的内容 clc清除交互式界面中指令窗 Command Window 中所显示的内容 包括用户输入 的命令和 MATLAB 的计算结果等 7 以下两种说法对吗 MATLAB的数值表达精度与其指令窗中的数据显示精度相同 MATLAB指令窗中显示的数值有效位数不超过 7 位 两种说法都不对 MATLAB提供了控制数据显示格式的控制指令 format 该指令并不改变 MATLAB 内 存中变量的精度 只是改变其显示精度 当变量小于 1000 时 使用了 format 或 format short 后 或者默认情况下 变量的显示 精度最多不超过 7 位 但显示精度不等于变量的精度 8 想要在 MATLAB 中产生二维数组 987 654 321 S 下面哪些指令能实现目的 S 1 2 3 4 5 6 7 8 9 S 1 2 3 4 5 6 7 8 9 S 1 2 3 4 5 6 7 8 9 整个指令在中文状态输入整个指令在中文状态输入 S 1 2 3 4 5 6 7 8 9 S 1 2 3 4 5 6 7 8 9 S 1 2 3 4 5 6 7 8 9 根据运行结果可知 三条指令全部正确执行 三条指令全部正确执行 Notebook 版本为版本为 2007a 并不像课本 上介绍的那样 中文状态下输入的标点符号不认识 这样的话 会出现 第 1 2 条指 令可以实现目的 第 3 条则不能 的结果 9 试为例 1 3 5 编写一个解题用的 M 脚本文件 略 湖 北 汽 车 工 业 学 院 毕 业 论 文 3 习题 2 1 观察一个数 在此用 记述 在以下四条不同指令作用下的异同 a b sym c sym d d sym 给出完全准确值 在此 分别代表具体数值 7 3 pi 3 pi 3 1 3 而异同通过 vpa abs a d vpa abs b d vpa abs c d 等来观察 a 7 3 b sym 7 3 c sym 7 3 d d sym 7 3 vpa abs a d vpa abs b d vpa abs c d a pi 3 b sym pi 3 c sym pi 3 d d sym pi 3 vpa abs a d vpa abs b d vpa abs c d a pi 3 1 3 b sym pi 3 1 3 c sym pi 3 1 3 d d sym pi 3 1 3 vpa abs a d vpa abs b d vpa abs c d ans 0 0 ans 0 0 ans 0 00000000000000014802973661668756666666667788716 ans 0 0 ans 0 0 ans 0 00000000000000011483642827992216762806615818554 ans 0 00000000000000026601114166290944374842393221638 ans 0 00000000000000026601114166290944374842393221638 ans 0 0000000000000002660111416629094726767991785515 返回结果为 0 0 的表明二者相等 2 说出以下三条指令产生的结果各属于哪知数据类型 是 双精度 对象 还是符号 对 象 3 7 0 1 sym 3 7 0 1 vpa sym 3 7 0 1 利用 MATLAB 指令查看其数据对象 class 3 7 0 1 湖 北 汽 车 工 业 学 院 毕 业 论 文 4 class sym 3 7 0 1 class vpa sym 3 7 0 1 ans double ans sym ans sym 注意 vpa 指令返回的结果是符号对象 3 在不加专门指定的情况下 以下符号表达式中的哪一个变量是独立自由变量 sym sin w t sym a exp X sym z exp j theta findsym sym sin w t findsym sym a exp X findsym sym z exp j theta ans t w ans X a ans j z 4 求符号矩阵 A的行列式值和逆 所得结果应采用 子表达式置换 简洁化 syms W A sym a11 a12 a13 a21 a22 a23 a31 a32 a33 RDA W subexpr det A W RIA W subexpr inv A W RDA a11 a22 a33 a11 a23 a32 a12 a21 a33 a12 a23 a31 a13 a21 a32 a13 a22 a31 W empty sym RIA W a22 a33 a23 a32 W a12 a33 a13 a32 W a12 a23 a13 a22 W a21 a33 a23 a31 W a11 a33 a13 a31 W a11 a23 a13 a21 W a21 a32 a22 a31 W a11 a32 a12 a31 W a11 a22 a12 a21 W 1 a11 a22 a33 a11 a23 a32 a12 a21 a33 a12 a23 a31 a13 a21 a32 a13 a22 a31 其中 RIA RDA 是置换后的 det A inv A 的表达式 W 则是置换表达式 5 略 6 对于 syms x k f 2 2 k 1 x 1 x 1 2 k 1 s symsum f k 0 inf s1 simple s 所得结果与提示给出的理论结果相符 7 1 通过符号计算求 参考例 2 3 4 8 求出 7 1 5 sin dxxe x 的具有 64 位有效数字的积分值 syms x 湖 北 汽 车 工 业 学 院 毕 业 论 文 5 f exp abs x abs sin x y int f 5 pi 1 7 pi digits 64 vpa y ans 1 087849417255503701102633764498941389696991336803454392428439159 9 计算二重积分 2 1 x 1 22 2 dydx yx syms x y F2 int int x 2 y 2 y 1 x 2 x 1 2 VF2 vpa F2 积分结积分结果果用用 32 位数字表示位数字表示 F2 1006 105 VF2 9 5809523809523809523809523809524 在区间 0 2 画出dt t sint x y x 0 曲线 并计算 y 4 5 syms t x f sin t t y int f 0 x subs y x 4 5 计算计算 y 4 5 y sinint x ans 1 6541 10 求 syms x n f sin x n y int f x 0 pi 2 digits 32 vpa double subs y n sym 1 3 vpa subs y n 1 3 请比较最请比较最后后两两条条语句语句的的异同异同 Warning Explicit integral could not be found y piecewise 1 0 5 si find LA ri ci ind2sub size LA si rj cj find LA si 1 2 3 4 6 8 9 11 12 13 14 ri 1 2 3 1 3 2 3 2 3 1 2 ci 1 1 1 2 2 3 3 4 4 5 湖 北 汽 车 工 业 学 院 毕 业 论 文 8 5 3 在使用 123 rand twister 123 R randsrc 1 1000 1 1 R randsrc 1 1000 sum sum R 0 Undefined function or method randsrc for input arguments of type double 当执行R0 逻辑 R 0为假 两次求和 所得结果即为所求 或者 R1 sum R In legend at 292 Warning Ignoring extra legend entries In legend at 292 02468 0 0 2 0 4 0 6 0 8 1 1 2 1 4 t dydt gradient 02468 0 0 5 1 1 5 t dydt diff 02468 1 4 1 2 1 0 8 0 6 0 4 0 2 0 y 02468 2 1 0 1 y 2 采用数值计算方法 x linspace 0 10 10000 sincx sin x x sincx 1 1 y cumtrapz x sincx plot x y Tx pos min abs x 4 5 y4dot5 trapz x 1 pos sincx 1 pos y pos y4dot5 1 6540 ans 1 6540 湖 北 汽 车 工 业 学 院 毕 业 论 文 14 012345678910 0 0 2 0 4 0 6 0 8 1 1 2 1 4 1 6 1 8 2 程序最后求 y 4 5 时 给出了两种方法 结果都是一样的 当然 直接用 y pos 更简单 注意 sincx 1 1 程序起初的两条指令运行后 sincx的第一个元素值为NaN 因 为0不能做分母 在指令 Tx pos min abs x 4 5 中 Tx 的值并无用处 肯定是约等于 0 pos 保存的才是 x 4 5 的脚标值 3 求函数 4 用 quad求取 5 求函数 6 设 7 已知矩阵 8 已知由 MATLAB 指令创建的矩阵 9 求矩阵 10 求矩阵 11 求矩阵 湖 北 汽 车 工 业 学 院 毕 业 论 文 15 习题 5 1 已知椭圆 a 4 b 2 t linspace 0 2 pi 360 x a cos t y b sin t plot x y a 4 4 3 2 101234 2 1 5 1 0 5 0 0 5 1 1 5 2 其中 定义t时的参数360可以更改 2 根据表达式 theta linspace 0 2 pi 360 p 1 cos theta h polar theta p title P 1 cos theta 0 5 1 1 5 2 30 210 60 240 90 270 120 300 150 330 1800 P 1 cos 最后一行不要忘记了 湖 北 汽 车 工 业 学 院 毕 业 论 文 16 3 A B C三个城市 month 1 6 A 170 120 180 200 190 220 B 120 100 110 180 170 180 C 70 50 80 100 95 120 bar month A B C stack legend A B C Location NorthWest 123456 0 100 200 300 400 500 600 A B C 4 二阶线性系统 clear clf t linspace 0 18 1000 zeta 0 2 0 2 1 4 T ZETA meshgrid t zeta BETA sqrt abs 1 ZETA 2 Y0 1 BETA exp ZETA T sin BETA T Y1 T exp T Y2 1 2 BETA exp ZETA BETA T exp ZETA BETA T Y zeros size T Y Y ZETA1 Y2 plot t Y grid on text 2 2 0 65 zeta 0 2 text 0 5 0 15 zeta 1 4 text 10 0 7 Delta zeta 0 2 湖 北 汽 车 工 业 学 院 毕 业 论 文 17 024681012141618 0 4 0 2 0 0 2 0 4 0 6 0 8 1 0 2 1 4 0 2 这里参考了采用例 3 5 2 的方法 注意矩阵 Y 的生成方法 这种方法对于 数组的长度能自动适应 但是 这里并没有解决各条曲线单独设置颜色和线宽的要求 clf clear t linspace 0 18 1000 zeta 0 2 0 2 1 4 T ZETA meshgrid t zeta BETA sqrt abs 1 ZETA 2 Y0 1 BETA exp ZETA T sin BETA T Y1 T exp T Y2 1 2 BETA exp ZETA BETA T exp ZETA BETA T Y zeros size T Y Y ZETA1 Y2 color bbbkrrr width 0 5 ones size zeta width 4 2 width width zeta 1 2 hold on for k 1 length zeta plot t Y k color k LineWidth width k end grid on text 2 2 0 65 zeta 0 2 text 0 5 0 15 zeta 1 4 text 10 0 7 Delta zeta 0 2 湖 北 汽 车 工 业 学 院 毕 业 论 文 18 024681012141618 0 4 0 2 0 0 2 0 4 0 6 0 8 1 0 2 1 4 0 2 0 2 1 4 0 2 为简便起见 此处对各条线的颜色和宽度的设置是权宜的 当 数组的长度变化时 要进行手 动调整 color 和 width 数组的内容 其原因在于加注了注释的指令 width width zeta 1 2 执行时结果与预期不符 而字符串数组的处理比较麻烦 并不是不能实现 只是比较麻烦 5 用绿实线绘制 clf clear theta linspace 0 4 pi 360 x sin theta y cos theta z theta plot3 x y z g LineWidth 2 box on 1 0 5 0 0 5 1 1 0 5 0 0 5 1 0 5 10 15 注意 theta 的变化范围是 0 4 pi 还有最后一条指令 6 在区域 湖 北 汽 车 工 业 学 院 毕 业 论 文 19 clf clear x linspace 3 3 100 y x X Y meshgrid x y Z 4 X exp X 2 Y 2 mesh X Y Z alpha 0 注意 最后一句控制指令用于设置透明度为全透明 7 在 clf clear x linspace 4 pi 4 pi 100 y x X Y meshgrid x y Z sin X Y X Y surf X Y Z shading interp view 30 30 湖 北 汽 车 工 业 学 院 毕 业 论 文 20 最后一句用于控制视角 也即换个角度看 注意 图形中有缺失的地方 因为在这些地方出现了NaN 作为分母的X Y为0了 解决方法就是将这些点找出来 并用 sin eps eps 来替换 也就是用1替换 这里不能采用例 3 5 2 的方法 因为 nan 不是数字 数学运算符号对其失效 clf clear x linspace 4 pi 4 pi 100 y x X Y meshgrid x y Z sin X Y X Y Z find isnan Z sin eps eps surf X Y Z shading interp view 30 30 8 试用图解法回答 x 10 0 1 10 y x X Y meshgrid x y Z1 Y 1 X 2 Y 2 Z2 sin X cos Y hold on C1 contour X Y Z1 0 1 0 1 b C2 contour X Y Z2 0 0 k hold off grid on ginput 1 ans 0 9908 0 2047 湖 北 汽 车 工 业 学 院 毕 业 论 文 21 10 8 6 4 20246810 10 8 6 4 2 0 2 4 6 8 10 这里画出两个函数的等高线图 程序使用向量 0 5 0 5 和 0 0 作为 contour 的参数 含 义为只指定一条等高线 即数值为 z1 0 5 z2 0 的那条 然后查看交点 交点即为所求的解 可以发现交点有6个 放大图像 可以发现 离原点 0 0 最近的点大约为 0 95 0 2 也可以使用指令 ginput 1 捕获该点 从MATLAB 命令窗口得到其坐标值 可以将 x 0 95 y 0 2 代入方程校验 9 制作如文件 10 在 0 4 区间 11 编写使红色小球沿三叶线 9 11 略 距 0 0 最 近的解 湖 北 汽 车 工 业 学 院 毕 业 论 文 22 习题 6 1 请分别写出用for 和 while循环语句计算 1000000 0 10000002 2 0 2 02 012 0 i i K的程序 此外 还请写出避免循环的 数值 符号计算程序 for loop s1 1 t 1 for i 1 1000000 t t 0 2 s1 s1 t end s1 while loop s2 1 t 1 i 0 while i 1000000 i i 1 t t 0 2 s2 s2 t end s2 no loop i 0 1000000 s3 sum 0 2 i symbolic method syms i f 0 2 i s4 symsum f 0 1000000 vpa s4 s1 1 2500 s2 1 2500 s3 1 2500 ans 1 25 注意 本题本题计算时间很长计算时间很长 因为涉及到符号运算 且运算量很大 从上而下 分别是 for 和 while 循环 无循环的数值 符号计算程序 最后的 s4 由于我测试的电脑是 MATLAB 2007a 64 位版 无法计算符号功能 故出错 s4 的计算 用到了符号计算中序列 级数的求和指令 symsum 2 编写一个 M 函数文件 实现功能 没有输入量时 画出单位圆 见图 p6 1 输入量 是大于 2的自然数 N 时 绘制正N
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社区平安小区创建方案
- 职场健康护理查房实践分享
- 房屋登记官考试《房屋登记官考试找答案》新版
- 中心静脉导管维护与管理
- 长期卧床病人心理健康护理查房
- 特需老人健康管理护理查房
- 新型冠状病毒患者护理查房经验
- 工业生产岗位安全设备管理及指标知识试卷
- 2025年山东省莒南县事业单位公开招聘辅警考试题带答案分析
- 疯狂蚂蚁儿童画课件
- T-SZHW 001-2024 深圳市城市管家服务管理规范(试行)
- 三废环保管理培训
- 《分娩方式的选择》课件
- 培训课件 -BBF品牌建设模型-
- 新的患者护理模式个性化医疗关怀培训课件
- 安徽省蚌埠二十六中学2022-2023学年七年级上学期入学考试语文试题(学生版)
- 医疗信息安全与隐私保护的培训指导
- 《防暑降温-知识培训》
- 招标《采购案例分析》考试真题及答案完整版-2
- 21ZJ111 变形缝建筑构造
- 穿行于基础教育森林:教育实践沉思对话录
评论
0/150
提交评论