Matlab实训1ppt课件_第1页
Matlab实训1ppt课件_第2页
Matlab实训1ppt课件_第3页
Matlab实训1ppt课件_第4页
Matlab实训1ppt课件_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

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

文档简介

Matlab实训 2008 6 前言 Matlab概述 MATLAB概述 MATLAB语言是一种广泛应用于工程计算及数值分析领域的新型高级语言 自1984年由美国MathWorks公司推向市场以来 历经十多年的发展与竞争 现已成为国际公认的最优秀的工程应用开发环境 MATLAB功能强大 简单易学 编程效率高 深受广大科技工作者的欢迎 在欧美各高等院校 MATLAB已经成为线性代数 自动控制理论 数字信号处理 时间序列分析 动态系统仿真 图像处理等课程的基本教学工具 成为大学生 硕士生以及博士生必须掌握的基本技能 MATLAB 是英文MATrixLABorotory 矩阵实验室 的缩写 一 MATLAB特点 1 数值计算和符号计算功能MATLAB的数值计算功能包括 矩阵运算 多项式和有理分式运算 数据统计分析 数值积分 优化处理等 符号计算将得到问题的解析解 2 MATLAB语言MATLAB除了命令行的交互式操作以外 还可以程序方式工作 使用MATLAB可以很容易地实现C或FORTRAN语言的几乎全部功能 包括Windows图形用户界面的设计 3 图形功能MATLAB提供了两个层次的图形命令 一种是对图形句柄进行的低级图形命令 另一种是建立在低级图形命令之上的高级图形命令 利用MATLAB的高级图形命令可以轻而易举地绘制二维 三维乃至四维图形 并可进行图形和坐标的标识 视角和光照设计 色彩精细控制等等 4 应用工具箱基本部分和各种可选的工具箱 基本部分中有数百个内部函数 其工具箱分为两大类 功能性工具箱和学科性工具箱 功能性工具箱主要用来扩充其符号计算功能 可视建模仿真功能及文字处理功能等 学科性工具箱专业性比较强 如控制系统工具箱 信号处理工具箱 神经网络工具箱 最优化工具箱 金融工具箱等 用户可以直接利用这些工具箱进行相关领域的科学研究 二 MATLAB集成环境 1 MATLAB的安装和内容选择 2 Desktop操作桌面的启动MATLAB的启动Desktop操作桌面简介 工作区窗口 命令历史窗口 命令窗口 工具栏 菜单栏 3 MATLAB命令窗口 1 命令窗口的菜单栏菜单栏共包含File Edit Window和Help四项 File菜单项 New命令 用于建立M文件 图形窗口 Open命令 打开一个已经建立的M文件 RunScript命令 执行一个命令文件 LoadWorkspace命令 将变量装入当前空间 SaveWorkspaceAs命令 把当前工作空间的所有变量用后缀为 mat的文件保存起来 File菜单项 ShowWorkspace命令 打开变量浏览器 SetPath命令 打开MATLAB的路径浏览器 Preferences命令 打开命令窗口的显示格式 PrintSetup命令 设置打印机的参数 Print命令 打印和设置一些打印参数 PrintSelection命令 打印选中的内容 ExitMATLAB命令 退出MATLAB系统 Edit菜单项 Undo Cut Copy和Paste等命令 分别用于撤销上一次操作 剪切 复制和粘贴 Clear命令 删除内容 SelectAll命令 用于选定所有文本内容 ClearSession命令 清除命令编辑区的全部内容 但并不删除工作空间中的变量 Help菜单项 HelpWindow命令 打开MATLAB的帮助窗口 HelpTips命令 打开帮助窗口 并首先显示MATLAB的帮助系统的分类和使用方法 HelpDesk HTML 命令 打开系统WWW浏览器 并显示MATLAB的帮助桌面 ExamplesandDemos命令 可以通过演示MATLAB提供的例子来熟悉相关部分的用法 AboutMATLAB命令 打开关于MATLAB的版本和版权等信息 Subsribe命令 打开机器上的WWW浏览器 用户可过填写相关的表格来获得MathWorks公司的产品 Window菜单项 利用Window菜单项可以查看目前MATLAB打开的所有窗口 并可选中某个窗口为当前窗口 从而实现在不同窗口之间的转换 2 命令窗口的工具栏工具栏提供了一些命令按钮 使用命令按钮可使操作更快捷 更方便 新建 打开 剪切 复制 粘贴 撤销 恢复 Simulink 打开Simulink Simulink是一个用来对动态系统进行建模 仿真和分析的软件包 它支持连续 离散及两者混合的线性和非线性系统 也支持具有多种采样频率的系统 Guide 快速启动Guide Guide全称为GraphicalUserInterfacedevelopmentenvironment 用于辅助设计图形用户接口 使用该工具可以简化GUI编程 Profiler 快速启动Profiler工具 Profiler工具能够分析出程序运行时间消耗情况 用于帮助分析 改进M文件 Help 打开MATLAB帮助 CurrentDirectory 设置当前目录 3 命令窗口的命令编辑区命令编辑区用于输入命令和显示计算结果 键入命令并按下回车键后 MATLAB就会解释执行所输入的命令 并在命令后面给出计算结果 例如 在MATLAB命令窗口输入命令 a 1 1 5 2 9 7 0 3 6 0 5 4 4 7 10 3 22 33 3 7 8 5 21 6 3 8 0 90 20 将显示一个5 5矩阵 MATLAB命令窗口 打开MATLAB时 命令窗口自动显示于MATLAB界面中 运算提示符 表示MATLAB处于准备状态 用户可以输入命令 按下回车键执行 并在命令窗口中显示运行结果 4 命令历史窗口 默认情况下命令历史窗口位于左下角 显示用户曾经输入过的命令 并显示输入的时间 方便用户查询 对于命令历史窗口中的命令 用户可以点击右键进行相应的操作 用户可以双击再次执行命令窗口中的命令 命令历史窗口 5 工作区窗口 工作区窗口与当前路径窗口共享一块空间 可以通过标签显示或隐藏 工作区窗口中显示当前工作区中的所有变量及其大小和类型等 通过工作区可以对这些变量进行管理 其中包含了工作区工具栏和显示窗口 通过工具栏可以新建或删除变量 导入导出数据 绘制变量的图形等 另外右键单击变量名可以对该变量进行操作 工作区窗口 6 当前路径窗口 当前路径窗口显示当前路径下的所有文件和文件夹及其相关信息 并且可以通过当前路径工具栏或右键菜单对这些文件进行操作 当前路径窗口 路径设置除MATLAB默认的搜索路径外 用户可以设置搜索路径 设置方法为 选择MATLAB窗口中的File SetPath命令 进入路径搜索对话框 添加选中目录 添加选中目录及其子目录 7 MATLAB帮助系统MATLAB里有以下几种方法可获得帮助 帮助命令 帮助窗口 MATLAB帮助桌面或在线帮助页 对于Internet用户 还可直接链接到MathWorks公司的网页上 寻求帮助 4 MATLAB的退出要退出MATLAB系统 有三种方法 1 单击MATLAB命令窗口的 关闭 按钮 2 在命令窗口File菜单中选ExitMATLAB命令 3 在MATLAB命令窗口输入Exit和Quit命令 在MATLAB中 变量名是以字母开头 后接字母 数字或下划线的字符序列 最多19个字符 且区分字母的大小写 MATLAB提供的标准函数名必须用小写字母 三 数学运算及数据变量 1 简单的数学运算 1 5 最简单的计算器使用法直接输入法存储变量法 1 简单的数学运算 2 5 表达式书写规则在大多数情况下 MATLAB对空格不予处理 因此在书写表达式时 可以利用空格调整表达式的格式 使表达式更易于阅读 在MATLAB表达式中 遵守四则运算法则 与通常法则相同 即运算从左到右进行 乘法和除法优先于加减法 指数运算优先于乘除法 括号的运算级别最高 在有多重括号存在的情况下 从括号的最里边向最外边逐渐扩展 需要注意的是 在MATLAB中只用小括号代表运算级别 中括号只用于生成向量和矩阵 花括号用于生成单元数组 1 简单的数学运算 3 5 MATLAB的数学运算符需要注意的是 右除和左除的意义并不相同 右除为常规的除法 而左除的意义为 a b b a 1 简单的数学运算 4 5 标点符号的使用在MATLAB中 标点符号有着充分的意义 可以用标点符号进行运算 或者标点符号可以包含特定的意义 1 简单的数学运算 5 5 分号 分号用于区分数组的行 或者用于一个语句的结尾处 取消运行显示 百分号 该符号用于在程序文本中添加注释 增加程序的可读性 百分号之后的文本都将视作注释 系统不对其进行编译 2 MATLAB中的常用数学函数 MATLAB提供了一系列的函数支持基本的数学运算 这些函数中的大多数调用格式和我们平时的书写习惯一致 方便用户记忆和书写 2 常用的操作命令和快捷键 1 3 为方便用户操作 MATLAB中定义了一些快捷键 掌握一些常用的操作命令和快捷键 可以使得对MATLAB的操作更加便利 2 常用的操作命令和快捷键 2 3 常用的操作命令 2 常用的操作命令和快捷键 3 3 常用的操作快捷键 3 MATLAB的数据类型 整数浮点数复数逻辑变量各种数据类型之间的运算各种数据类型之间的转换数据类型操作函数 数据类型操作函数 其中的 type 包括 numeric integer float 和所有的数据类型 整数 MATLAB支持8位 16位 32位和64位的有符号和无符号整数数据类型 上述整数数据类型除了定义范围不同外 具有相同的性质 定义整数变量 定义变量 由于MATLAB默认的数据类型为双精度型 因此在定义整形变量时 需指定变量的数据类型 整数运算 1 2 运算 类型相同的整数之间可以进行运算 返回相同类型的结果 在进行加 减和乘法运算时比较简单 在进行除法运算时稍微复杂一些 因为在多精度情况下 整数的除法不一定能得到整数的结果 在进行除法时 MATLAB首先将两个数视为双精度类型进行运算 然后将结果转化为相应的整形数据 MATLAB中不允许进行不同整数类型之间的运算 整数运算 2 2 由于每种整数数据类型都有相应的取值范围 因此数学运算有可能产生结果溢出 MATLAB利用饱和处理处理此类问题 即当运算结果超出了此类数据类型的上限或下限时 系统将结果设置为该上限或下限 例1整数运算中的数据溢出 x int8 100 y int8 90 z x yz 127 x 3 yans 27 x y y yans 128 结果溢出上限 因此结果为127 3 y溢出上限 结果为127 继续计算 得到最后结果 27 计算x y y y时 从左到右进行计算 结果溢出下限 因此结果为 128 浮点数 1 2 MATLAB的默认数据类型是双精度类型 double 为了节省存储空间 MATLAB也支持单精度数据类型的数组 单精度和双精度数据类型的取值范围和精度可以通过例2的方式进行查看 浮点数 2 2 例2 11单精度和双精度数据类型的取值范围和精度 realmin single ans 1 1755e 038 realmax single ans 3 4028e 038 eps single ans 1 1921e 007 realmin double ans 2 2251e 308 realmax double ans 1 7977e 308 eps double ans 2 2204e 016创建单精度类型的变量时需要声明变量类型 与创建整型变量类似 单精度数据类型的数据进行运算时 返回值为单精度 复数 复数由两个部分组成 实部和虚部 基本虚数单位等于 在MATLAB中虚数单位由i或者j表示 MATLAB中可以通过两种方法创建复数 第一种方法为直接输入法 另一种创建复数的方法为通过complex函数 复数 complex函数的调用方法如下 c complex a b 返回结果c为复数 其实部为a 虚部为b 输入参数a和b可以为标量 或者维数 大小相同的向量 矩阵或者多维数组 输出参数和a和b的结构相同 a和b可以有不同的数据类型 当a和b为各种不同的类型时 返回值分别为 当a和b中有一个为单精度时 返回结果为单精度 如果a和b其中一个为整数类型 则另外一个必须有相同的整数类型 或者为双精度型 返回结果c为相同的整数类型 c complex a 只有一个输入参数 返回结果c为复数 其实部为a 虚部为0 但是此时c的数据类型为复数 逻辑数组 1 5 逻辑数据类型通过1和0分别表示逻辑真和逻辑假 一些MATLAB函数或操作符会返回逻辑真或逻辑假表示条件是否满足 如表达式 5 10 40返回逻辑真 在MATLAB中 存在逻辑数组 如下面的表达式返回逻辑数组 3040506070 40ans 00111 逻辑数组 2 5 逻辑数组的创建创建逻辑数组的最简单的方法为直接输入元素的值为true或者false逻辑数组也可以通过逻辑表达式生成 逻辑数组 3 5 MATLAB中返回逻辑值的函数和操作符 逻辑数组 4 5 逻辑数组的应用用于条件表达式如果仅当条件成立时执行某段代码 可以应用逻辑数组进行判断和控制用于数组索引在MATLAB中支持通过一个数组对另一个数组进行索 逻辑数组 5 5 逻辑数组的判断MATLAB中提供了一组函数用于判断数组是否为逻辑数组 各种数据类型之间的转换 在MATLAB中 各种数据类型之间可以互相转化 转化方式为 1 datatype variable 其中datatype为目标数据类型 variable为待转化的变量 2 cast x type 将x的类型转化为 type 指定的类型 转化时 如果由高精确度数据类型转化为低精确度数据类型 则对数据进行四舍五入 如果由定义范围大的数据类型转化为定义范围小的数据类型 则返回目标数据类型的上限或下限 4 变量 MATLAB的变量命名规则与其他计算机语言类似 这一节介绍MATLAB的命名规则 首先 变量名必须是一个单一的词 不能包含空格 另外其命名必须符合下列规则 1 变量名区分大小写 如pi和Pi是两个不同的变量 2 变量名长度不超过31个字符 超过的部分将会被忽略 3 变量名必须以字母开始 其后可以为字母 数字或者下划线 MATLAB中的变量名不支持其他符号 因为其他符号在MATLAB中具有特殊的意义 复数i j预定义变量pi圆周率3 1415 eps浮点数识别精度2 22 10 16realmin最小正实数2 2251 10 308realmax最大正实数1 7977 10308Inf无穷大NaN不定值 MATLAB2007b的操作符 关系运算符MATLAB的关系运算符能用来比较两个相同大小的数组 或用来比较一个数组和一个标量 MATLAB的关系运算符包括所有常用的比较运算符 如表所示 逻辑运算符 逻辑运算符主要包括 与 或 和 非 使用逻辑运算符可以将多个表达式组合在一起 或者对关系表达式取反 MATLAB中的逻辑运算符如表所示 运算符优先级 MATLAB在执行含有关系运算和逻辑运算的数学运算时 同样遵循一套优先级原则 MATLAB首先执行具有较高优先级的运算 然后执行具有较低优先级的运算 如果两个运算的优先级相同 则按从左到右的顺序执行 MALTAB中各运算符的优先级顺序如表所示 表中按照优先级从高到低的顺序排列各运算符 4 数据和变量 向量 矩阵的创建 实训一 日常矩阵及其运算 矩阵应用实例 榄球防护用品的生产管理 应用问题 一个工厂生产三种橄榄球用品 防护帽 垫肩 臀垫 需要不同数量的 硬塑料 泡沫塑料尼龙线 劳动力 为监控生产 管理者对它们之间的关系十分关心 为把握这些量的关系 他列出下面的表 原料产品关系表 订单 管理者接到四份订单如上表所示 问应该如何计算每份订单所需的原材料 以便组织生产 将表格写成矩阵形式 计算 输入下面Matlab指令A 423 132 133 322 B 35206045 10155040 20124520 C A B请自行计算观看结果 Matlab基本指令 向量的创建和运算 1 直接输入向量 x1 124 x2 1 2 1 x3 x1 x4 1 2 3 运行结果x1 124x2 121x3 x4 112243 2 冒号创建向量 x1 3 4 6 7 x2 3 4 2 6 7x3 2 6 0 8 0运算结果x1 3 40004 40005 40006 4000 x2 3 40005 4000 x3 2 60001 80001 00000 2000 3 生成线性等分向量 指令x linspace a b n 在 a b 区间产生n个等分点 包括端点 x linspace 0 1 5 结果x 00 25000 50000 75001 0000 向量的运算 设x x1x2x3 y y1y2y3 为两个三维行向量 a b为标量 向量的数乘 a x a x1a x2a x3 向量的平移 x b x1 bx2 bx3 b 向量和 x y x1 y1x2 y2x3 y3 向量差 x y x1 y1x2 y2x3 y3 数的乘幂 如a 2 元素群运算 四则运算 x y x1 y1x2 y2x3 y3 元素群乘积 x y x1 y1x2 y2x3 y3 元素群右除 右边的y做分母 x y y1 x1y2 x2y3 x3 元素群左除 左边的x做分母 x 5 x1 5x2 5x3 5 元素群乘幂 2 x 2 x12 x22 x3 元素群乘幂 x y x1 y1x2 y2x3 y3 元素群乘幂 数组的查找 数组的查找函数是find 它能够查找数组中的非零数组元素 并返回其数组索引值 find函数在MATLAB中的使用语法形式 1 a find A 返回数组A中非零元素的单下标索引 2 a b find A 返回数组A中非零元素的双下标索引放方式 元素群运算 函数计算 Matlab有许多内部函数 可直接作用于向量产生一个同维的函数向量 x linspace 0 4 pi 100 产生100维向量x y sin x y也自动为100维向量 y1 sin x 2 y2 exp x sin x 观察结果 创建矩阵 数值矩阵的创建 直接输入法创建简单矩阵 A 1234 5678 9101112 B 1 3 sqrt 3 1 2 4 5 sin 5 exp 2 6 观察运行结果 生成特殊矩阵 全1阵ones n ones m n ones size A 全零阵 zeros n zeros m n zeros size A 常常用于对某个矩阵或向量赋0初值单位阵 eye n eye m n 随机阵 rand m n rand n rand n n 用于随机模拟 数字在0 1间 满足均匀分布 常和rand seed k 配合使用 生成特殊矩阵 将rand指令运行多次 观察结果 程序 y1 rand 1 5 y2 rand 1 5 rand seed 3 x1 rand 1 5 rand seed 3 x2 rand 1 5 结果 size A 返回一个二元素向量 第一个元素为A的行数 第二个元素为A的列数 size A 1 返回A的行数 size A 2 返回A的列数 length A 返回max size A flipud A 矩阵作上下翻转 fliplr A 矩阵作左右翻转 diag A 提取A的对角线元素 返回列向量 diag v 以向量v做对角元素创建对角矩阵 矩阵操作函数 创建矩阵 符号矩阵的创建 用指令 syms 说明符号变量 symsa11a12a13a14a21a22a23a24a31a32a33a34b11b12b13b14b21b22b23b24b31b32b33b34A1 a11a12a13a14 a21a22a23a24 a31a32a33a34 B1 b11b12b13b14 b21b22b23b24 b31b32b33b34 运行 矩阵的运算 矩阵的加减 数乘 乘积 C A1 B1D A1 B1symsc cA c A1A2 A1 1 3 B1G A2 B1 矩阵的运算 矩阵的加减 数乘 乘积 A A trans A H 123 210 123 K 123 210 231 h det det H k det det K H inv inv H K inv K 1 矩阵的运算 左除和右除 左除 求矩阵方程AX B的解 A B的行要保持一致 解为X A B 当A为方阵且可逆时有X A B inv A B 右除 求矩阵方程XA B的解 A B的列要保持一致 解为X B A 当A为方阵且可逆时有X B A B inv A 矩阵的运算 左除和右除 求矩阵方程 设A B满足关系式 AB 2B A 求B 其中A 301 110 014 解 有 A 2I B A程序 A 301 110 014 B inv A 2 eye 3 A B A 2 eye 3 A观察结果 分块矩阵 矩阵的标识 1 矩阵元素的标识 A i j 表示矩阵A的第i行j列的元素 采用矩阵元素的序号来引用矩阵元素 矩阵元素的序号就是相应元素在内存中的排列顺序 在MATLAB中 矩阵元素按列存储 先第一列 再第二列 依次类推 例如A 1 2 3 4 5 6 A 3 ans 22 向量标识方式A vr vc vr i1 i2 ik vc j1 j2 ju 分别是含有矩阵A的行号和列号的单调向量 A vr vc 是取出矩阵A的第i1 i2 ik行与j1 j2 ju列交叉处的元素所构成新矩阵 分块矩阵 矩阵的标识 取出A的1 3行和1 3列的交叉处元素构成新矩阵A1程序A 10112 01 123 30510 23121 vr 1 3 vc 1 3 A1 A vr vc 观察结果 分块矩阵 矩阵的标识 将A分为四块 并把它们赋值到矩阵B中 观察运行后的结果 程序A1

温馨提示

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

评论

0/150

提交评论