Matlab试题及答案_第1页
Matlab试题及答案_第2页
Matlab试题及答案_第3页
Matlab试题及答案_第4页
Matlab试题及答案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

Matlab 软件实训 一 一 训练目的训练目的 1 熟悉 Matlab 工具软件的开发环境 2 掌握 Matlab 的一些常用命令 3 掌握 Matlab Simulink 建模仿真的方法 二 二 训练内容训练内容 1 利用命令进行各种相关数学计算 2 编写 M 文件实现各种相关数学计算 3 利用 Simulink 建模并仿真 三 三 训练任务训练任务 1 解方程 Ax B 其中 A B 5407 3950 1281 8053 6 1 2 0 本题解决思路 这是一个简单的数组运算 核心点在于数组的输入方法和一些基本的数组运 算基础 本题中需要注意的是左除与右除的区别 命令如下 A 3 5 0 8 1 8 2 1 0 5 9 3 7 0 4 5 A 3 5 0 8 1 8 2 1 0 5 9 3 7 0 4 5 B 0 2 1 6 B 0 2 1 6 X A B X 0 6386 0 4210 0 3529 0 0237 2 数值运算 已知某班的 5 名学生的三门成绩如下 序号 1 2 3 4 5 高数 78 89 64 73 68 外语 83 77 80 78 70 电路 82 91 78 82 68 试写出有关命令 先分别找出三门课的最高分及其学生序号 然后找出三门课总分的 最高分及其学生序号 本题解决思路 详细的分析题目 可以发现本题就是一个多组求最大值并输出的问题 有三个核心点 第一点是求最大值问题 第二点是如何将多组最大值问题合并在一个程序中解出 第三点 是输入和输出的方法 最大值我采用了 MATLAB 中的 max 命令 其实也可以采用自己编写 M 文件的方法 但是程序越精简运行越快 我选择了自带命令 第二个问题我采用了一个 for 和 if 配合的 循环判断的语句 第三个问题我采用 disp 输出 并用 num2str 将字符串转换输出 程序如下 a input 高数成绩 b input 英语成绩 c input 电工成绩 for i 1 3 if i 1 y1 t1 max a 2 else if i 2 y2 t2 max b 2 else y3 t3 max c 2 end end end s a b c y4 t4 max s 2 disp 高数最高分是 num2str t1 号 num2str y1 分 disp 英语最高分是 num2str t2 号 num2str y2 分 disp 电工最高分是 num2str t3 号 num2str y3 分 disp 总分最高分是 num2str t4 号 num2str y4 分 高数成绩 78 89 64 73 68 英语成绩 83 77 80 78 70 电工成绩 82 91 78 82 68 高数最高分是 2 号 89 分 英语最高分是 1 号 83 分 电工最高分是 2 号 91 分 总分最高分是 2 号 257 分 3 建立 M 文件 计算积分 y 2 0 sin xdx M文件如下 function y J a b syms x y int sin x x a b end 在命令行中输入J 0 pi 2 运算得出结果 J 0 pi 2 y 1 ans 1 4 建立 M 文件 在 0 2 范围内绘制二维曲线图 y 5cos sin xx 本题解决思路 在 M 文件中要有输入变量和输出量 分析本题得知 本题的 x 并不是输入文件 他是 一个中间变量 真正的输入变量其实是 x 的输入范围 定义变量为 a b 确定这个以后 直接调用 MATLAB 中的内置命令求解 M 文件如下 function y H a b x linspace a b y sin x cos 5 x plot x y end 编辑好后输入 x 的范围并调运 M 文件 H 输入 H 0 2 pi H 0 2 pi ans Columns 1 through 9 0 0 0603 0 1019 0 1098 0 0746 0 0050 0 1216 0 2603 0 4005 Columns 10 through 18 0 5187 0 5926 0 6040 0 5424 0 4069 0 2068 0 0388 0 3033 0 5558 Columns 19 through 27 0 7652 0 9042 0 9530 0 9022 0 7544 0 5240 0 2355 0 0792 0 3851 Columns 28 through 36 0 6482 0 8398 0 9402 0 9407 0 8450 0 6678 0 4330 0 1705 0 0882 Columns 37 through 45 0 3139 0 4836 0 5827 0 6070 0 5625 0 4638 0 3316 0 1893 0 0594 Columns 46 through 54 0 0401 0 0978 0 1108 0 0845 0 0313 0 0313 0 0845 0 1108 0 0978 Columns 55 through 63 0 0401 0 0594 0 1893 0 3316 0 4638 0 5625 0 6070 0 5827 0 4836 Columns 64 through 72 0 3139 0 0882 0 1705 0 4330 0 6678 0 8450 0 9407 0 9402 0 8398 Columns 73 through 81 0 6482 0 3851 0 0792 0 2355 0 5240 0 7544 0 9022 0 9530 0 9042 Columns 82 through 90 0 7652 0 5558 0 3033 0 0388 0 2068 0 4069 0 5424 0 6040 0 5926 Columns 91 through 99 0 5187 0 4005 0 2603 0 1216 0 0050 0 0746 0 1098 0 1019 0 0603 Column 100 0 0000 5 利用 Simulink 建立仿真模型 并给出建模步骤 本题思路 确定输入函数的类型 确定中间运算过程 确定最终结果显示器 结果截图如下 四 四 个人总结个人总结 MATLAB 的基本数据单位是矩阵 它的指令表达式与数学 工程中常用的形式十 分相似 故用 MATLAB 来解算问题要比用 C FORTRAN 等语言完成相同的事情简捷得多 MATLAB 的最突出的特点就是简洁 MATLAB 相对于其他的一些编程软件有许多的优点 一 语言简洁紧凑 使用方便灵活 库函数极其丰富 二 运算符丰富 三 MATLAB 既具有结构化的控制语句 如 for 循环 while 循环 又有面向对 象编程的特性 四 语法限制不严格 程序设计自由度大 五 程序的可移植性很好 基本上不做修改就可以在各种型号的计算机和操作 系统上运行 六 MATLAB 的图形功能强大 用 madlab 创建矩阵时 方法有两种 第一 可以直接依次输入矩阵各行各列的元 素 但矩阵元素必须用 括住 矩阵元素必须用逗号或空格分隔 在 内矩阵的行 与行之间必须用分号分隔 第二 用 MATLAB 函数创建矩阵 MATLAB 可以进行矩阵的 加减 乘除的元素 求可逆矩阵 转置矩阵 求矩阵的特征值 求线性方程组等等 MATLAB 的功能是非常强大的 MATLAB 不仅有强大的运算功能 它还有强大的绘图功 能 我对它的了解也仅仅就是一点点 或许说还没有入门 比如说它含有丰富的内建 函数 例如数学函数中的三角函数 复函数 多项式函数 数据分析函数的求平均值 最大最小值 排序等 以及逻辑 选择函数如 if else 等 还有用来模拟随机发生事 件的随机函数 这些我都不了解 虽学习 MATLAB 的时间虽然很短 但却让我了解到了它的强大和它的功能 我想就算时 间足够 老师也不能把所有的都讲解给我们 因为一个软件的功能需要我们自己不断 的去摸索 老师也不可能知道所有 老师只是个指路的明灯 最终的学习还是要靠自 己 而且在摸索过程中 我们能够发现和体会学习的快乐 五 五 学习到的技能学习到的技能 基本的命令 1 dir 可以查看当前工作目录的文件 dirB 垂直聚合矩阵 还可以用 cat 2 A B repmat M v h 将矩阵 M 在垂直方向上聚合 v 次 在水平方向上聚合 h 次 blkdiag A B 以 A 和 B 为块创建块对角矩阵 length 返回矩阵最长维的的长度 ndims 返回维数 numel 返回矩阵元素个数 size 返回每一维的长度 rows cols size A reshape 重塑矩阵 reshape A 2 6 将 A 变为 2 6 的矩阵 按列排列 rot90 旋转矩阵 90 度 逆时针方向 fliplr 沿垂轴翻转矩阵 flipud 沿水平轴翻转矩阵 transpose 沿主对角线翻转矩阵 ctranspose 转置矩阵 也可用 A 或 A 这仅当矩阵为复数矩阵时才有区 别 inv 矩阵的逆 det 矩阵的行列式值 trace 矩阵对角元素的和 norm 矩阵或矢量的范数 norm a 1 norm a Inf normest 估计矩阵的最大范数矢量 chol 矩阵的 cholesky 分解 cholinc 不完全 cholesky 分解 lu LU 分解 luinc 不完全 LU 分解 qr 正交分解 kron A B A 为 m n B 为 p q 则生成 mp nq 的矩阵 A 的每一个元素 都会乘上 B 并占据 p q 大小的空间 rank 求出矩阵的刺 pinv 求伪逆矩阵 A p 对 A 进行操作 A P 对 A 中的每一个元素进行操作 四 数值计算 1 线性方程组求解 1 AX B 的解可以用 X A B 求 XA B 的解可以用 X A B 求 如果 A 是 m n 的矩阵 当 m n 时可以找到唯一解 mn 超 定系统 至少找到一组解 如果 A 是奇异的 且 AX B 有解 可以用 X pinv A B 返回最小二乘解 2 AX b A L U L U lu A X U L b 即用 LU 分解求解 3 QR 正交 分解是将一矩阵表示为一正交矩阵和一上三角矩阵之积 A Q R Q R chol A X Q U b 4 cholesky 分解类似 2 特征值 D eig A 返回 A 的所有特征值组成的矩阵 V D eig A 还返回特征向量矩阵 3 A U S UT U S schur A 其中 S 的对角线元素为 A 的特征值 4 多项式 Matlab 里面的多项式是以向量来表示的 其具体操作函数如下 conv 多项式的乘法 deconv 多项式的除法 a b deconv s 返回商和余数 poly 求多项式的系数 由已知根求多项式的系数 polyeig 求多项式的特征值 Polyfit x y n 多项式的曲线拟合 x y 为被拟合的向量 n 为拟合多 项式阶数 polyder 求多项式的一阶导数 polyder a b 返回 ab 的导数 a b polyder a b 返回 a b 的导数 polyint 多项式的积分 polyval 求多项式的值 polyvalm 以矩阵为变量求多项式的值 residue 部分分式展开式 roots 求多项式的根 返回所有根组成的向量 注 用 ploy A 求出矩阵的特征多项式 然后再求其根 即为矩阵的特征值 5 插值常用的插值函数如下 griddata 数据网格化合曲面拟合 Griddata3 三维数据网格化合超曲面拟合 interp1 一维插值 yi interp1 x y xi method Method nearest linear spline pchip cubic Interp2 二维插值 zi interp1 x y z xi yi method bilinear Interp3 三维插值 interpft 用快速傅立叶变换进行一维插值 help fft mkpp 使用分段多项式 spline 三次样条插值 pchip 分段 hermit 插值 6 函数最值的求解 fminbnd f x1 x2 optiset 求 f 在 x1 和 x2 之间的最小值 Optiset 选项可以有 Display iter off final 分别表示显示计算过程 不显 示

温馨提示

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

评论

0/150

提交评论