《matlab简明教程》PPT课件.ppt

上传人:sh****n 文档编号:8633789 上传时间:2020-03-30 格式:PPT 页数:84 大小:564KB
返回 下载 相关 举报
《matlab简明教程》PPT课件.ppt_第1页
第1页 / 共84页
《matlab简明教程》PPT课件.ppt_第2页
第2页 / 共84页
《matlab简明教程》PPT课件.ppt_第3页
第3页 / 共84页
点击查看更多>>
资源描述
1 第一部分Matlab语言概述 2 Matlab与其它数学软件比较 MATLAB MATLAB名字是由MATrix和LABoratory两个词的前三个字母组合而成的 意为 矩阵实验室 是一个高性能的科技计算软件 在数值计算方面独占鳌头 广泛应用于数学计算 建模 仿真和数据分析处理及工程作图 Maple 具有无与伦比的符号计算能力 Mathematica 它拥有强大的数值计算和符号计算能力 Mathematica和Maple则分居符号计算软件的前两名 Mathcad 是MathSoft公司在20世纪80年代推出的一个交互式的数学文字软件 和Maple相比 MathCAD的文字处理能力较强 因其提供计算 图形 文字处理的统一环境而深受中学生欢迎 Origin 技术图形和数据分析软件 数据分析包括数据的排序 调整 计算 统计 频谱变换 曲线拟合等各种完善的数学分析功能 3 Matlab语言的特点 简单易学 演算纸式的科学算法语言Matlab具有丰富的数值计算功能具有若干功能强大的应用工具箱具有良好的图视功能使用方便 具有很好的扩张功能 4 Matlab语言的主要特点 简单易学 演算纸式的科学算法语言 用 语言编程如下 include math h main floata a sqrt 5 printf a 5 3f n a 用matlab求解如下 a sqrt 5 a 2 2361 结果为 a 2 236 fprintf 1 a 5 3f n a a 2 236 5 Matlab语言的主要特点 续 MATLAB具有丰富的数值计算功能 1 包括矩阵各种运算 如 正交变换 三角分解 特征值 常见的特殊矩阵等 2 包括各种特殊函数 如 贝塞尔函数 勒让德函数 伽码函数 贝塔函数 椭圆函数等 3 包括各种数学运算功能 如 数值微分 数值积分 插值 求极值 方程求根 FFT 常微分方程的数值解等 进行数值计算的基本单位是矩阵 而且不需定义数组的维数 使之在求解诸如信号处理 建模 系统识别 控制 优化等领域的问题时 显得大为简捷 高效 方便 这是其它高级语言所不能比拟的 6 Matlab语言的主要特点 续 具有若干功能强大的应用工具箱Matlab中包括了被称作工具箱 Toolbox 的各类应用问题的求解工具 工具箱实际上是对Matlab进行扩展应用的一系列Matlab函数 称为M文件 它可用来求解各类学科的问题 包括信号处理 图象处理 控制系统辨识 神经网络等 随着Matlab版本的不断升级 其所含的工具箱的功能也越来越丰富 因此 应用范围也越来越广泛 成为涉及数值分析的各类工程师不可不用的工具 7 Matlab语言的主要特点 续 具有良好的图视功能 可方便地画出两维和三维图形 高级图形处理 如 色彩控制 句柄图形 动画等 图形用户界面GUI制作工具 可以制作用户菜单和控件 使用者可以根据自己的需求编写出满意的图形界面 可以直接处理声音和图形文件 声音文件 如 WAV文件 例 wavread sound等 图形文件 如 bmp gif等 8 Matlab语言的主要特点 续 使用方便 具有很好的扩张功能 使用Matlab语言编写的程序可以直接运行 无需编译 可以把M文件转变为独立于平台的EXE可执行文件 Matlab的应用接口程序API是Matlab提供的十分重要的组件 由一系列接口指令组成 用户就可在FORTRAN或C中 把Matlab当作计算引擎使用 9 图Matlab程序界面 10 1 单击 图标 html 2 help usingthedesktop html 3 联机查询指令 help命令 helpFunctionName其中 FunctionName为要查询的函数名 4 lookfor指令 lookfor关键词 如 lookforfourier Matlab提供了十分详细的帮助文件 PDF HTML文件 Matlab联机帮助 Html和pdf文件可从网上下载 如 helpsum SUMSumofelements Forvectors SUM X isthesumoftheelementsofX Formatrices SUM X isarowvectorwiththesumovereachcolumn 11 应用演示程序demos Matlab的演示程序demos给用户提供各种各样的功能演示 运行此程序对了解Matlab Simulink有很大的帮助 demos 12 在MATLAB下进行基本数学运算 只需将运算式直接打入提示符 后 并按入Enter键即可 例如 10 19 2 4 34 2 3 ans 234 7500Matlab会将运算结果直接存入一变量ans 代表Matlab运算后的答案 并显示其数值 ans为保留变量 它将永远存放最近一次无赋值变量语句的运算结果 Matlab基本语法及数据显示格式 13 如果在上述的例子结尾加上 则表达式同样运行 但不在命令窗口显示结果 要得知计算值只须键入该变量名即可 10 19 2 4 34 2 3 ans 234 7500Matlab要求表达式在使用变量以前 一定要先对其进行赋值操作 Matlab的赋值操作 14 如 有算术表达式 其中 p 7 1 x 4 92 k 1 7 p 7 1 x 4 92 k 1 7 或者 p 7 1 x 4 92 k 1 7 t 1 1 p x k Matlab的赋值操作 续 t 440 8779 为赋值符号 15 如果一个指令过长可以在结尾加上 代表此行指令与下一行连续 例如 3 6 ans 18 Matlab的赋值操作 续 16 变量及其命名规则 变量名不可以超过31个字符 超出字符将被忽略变量名要求以大写或小写字母开头 后面可跟大小写字母 数字或下划线 字符间不允许有空格变量对大小写敏感 如 合法变量junk junK F 1 A b C d不合法变量123 1A abc a ab 17 常见的Matlab预定义变量 ans通用变量名epsMatlab定义的正的极小值 2 2204e 16 若某个量的绝对值小于eps 则可以认为这个量为 pi内建的 值 双精度浮点表示 Inf 值NaN不定式 NotaNumber 通常由0 0 Inf Inf及其它可能的运算得出 i或j若i或j不被改写 则它们表示纯虚数单位i j 1Nargin函数输入参数个数Nargout函数输出参数个数 1 0Warning Dividebyzeroans Inf 18 变量管理 在Matlab运行期间 可随时通过输入变量名或从表达式中引用变量名来访问变量的当前数值 Clear函数清除内存中所有变量 格式为 clear在Workspace窗口中可显示所有的变量列表 同样的功能还可用Whos命令来实现 whos 19 whosNameSizeBytesClassans1x18doublearrayx10 x10800doublearrayy10 x10800doublearrayz10 x10800doublearrayGrandtotalis301elementsusing2408bytes 变量长度 变量存储字节数 变量类型 变量管理 续 20 MATLAB利用了 箭头可以将所下过的指令叫回来重覆使用 按下 则前一次指令重新出现 之后再按Enter键 在此之前 可修改命令行 即再执行前一次的指令 而 键的功能则是往后执行指令 完成同样功能也可用 p c ctrl和c同时按下 用于终止程序或函数的执行 命令的重复键入及程序或函数的终止 21 第二部分Matlab语言基础 22 向量的创建 vectors 1 行向量f axb 或f a x b 其中a x b 可以是变量 数值 表达式或字符串 2 列向量f a x b 或f a x b 3 利用冒号创建向量 通常用来创建时间向量 x s d f其中 s 起始值d 增量 步长 f 终值 用 将元素置于其中 t 0 5t 012345 23 向量的创建 用linspace函数创建向量 已知指定范围 s f 和期望的数值个数n 格式如下 x linspace s f n 等同于 x ss dd 2d s n 1 d 其中 d f s n 1 当n省略时 默认值为100 常用于绘图时坐标轴向量的定义 24 要显示前5个值 要显示后5个值 设x 1 1 10 试进行如下操作 访问 向量的第三个元素 求向量的长度 length x 向量元素的访问 25 矩阵的创建 1 一般矩阵的创建2 标准矩阵的创建1 ones n 产生全部元素均为1的n n阶矩阵 2 ones r c 产生全部元素为1的r c阶矩阵 3 zeros n 和zeros r c 4 eye n 产生一对角线全为1的n阶单位矩阵 A a1 a2 a3 b1 b2 b3 c1 c2 c3 ai bi ci可以是变量 数值 表达式 字符串 26 矩阵的创建 3 用repmat函数和meshgrid函数创建矩阵 Repmat函数调用格式为 repmat x r c 通过复制x 产生r c的矩阵 27 矩阵的创建 meshgrid的调用格式为 u v meshgrid s t 通过复制向量s t 生成两个矩阵u v s t为两个行向量 相当于 u repmat s length t 1 v repmat t 1 length s 这个函数在画3D图时非常有用 28 矩阵元素的访问及操作 定义矩阵为A 123 456 789 顺次执行以下操作 将第3行 第3列的元素置0 将第2列元素除以2 把第3行加到第1行 第3行保持不变 删除第2行 A 3 3 0 A 2 A 2 2 A 1 A 3 A 1 A 2 A 853740 29 矩阵的数学运算 A B为矩阵 c为标量 30 对同阶矩阵中对应元素进行直接的算术运算 A BA B中只要有一个标A B量 就等同A B A B A c 不能省 若A为方阵 A A A A 3 A 3 如 A 12 34 A 3 3754 81118 A 3 18 2764 点运算 若求x5 则必须写成x 5 31 左除和右除 A B就是由高斯消元法求解线性方程组AX B的解 相当于A的逆左乘B A 1 B 左除 B 右除 A B相当于A左乘B的逆 A inv B inv B 与B 1等同 32 例 对于下列线性方程组AX b 试求取未知的参数向量X 分析 最小二乘法是系统辨识领域的经典辨识分法 一般用于大规模数据的系统参数辨识 可求得 X ATA 1ATb X inv A A A b方法二 直接求逆X inv A b方法三 左除 X A b 方法一 最小二乘法 A是方阵 三种求解结果相同 若为长方阵 采用方法二不行 只能用方法一或方法三 其算法就是最小二乘法 33 在matlab中 多项式也是用向量表示 按递减顺序依次输入多项式的系数即可 如有下列多项式 s4 3s3 15s2 2s 9在matlab中输入 x 13 15 29 如果多项式中有为 的系数 也必须把 写入 求多项式的根 roots x 或输入roots 13 15 29 ans 5 57452 5836 0 79510 7860 多项式 Polynomials 34 矩阵的逻辑运算 35 矩阵的关系运算 关系运算是针对两个矩阵的对应元素的 若关系满足 则该元素置为 否则为 注意区别赋值符号 与等于关系符号 关系运算主要用于程序流程控制 36 字符串 文字 字符串 将数字 字母和一些特殊的字符放在单引号内 它的创建 存贮和操作与向量 矩阵类似 字符串中的每一个字符在向量或矩阵中占据一个元素的位置 格式如下 s testing123 或 s testing123 37 M文件和M函数 1 什么是M文件 M程序文件 M程序 2 为什么要用M文件 M文件也称为脚本文件 scriptfile 是一个可以输入Matlab命令的简单的文本文件 所有的M文件名的后缀均为 m 对于简单问题 可以直接在commandWindows窗口中输入命令 快速而且有效 但随着命令的增加 或者需要改变某一变量值进行重复试验时 一遍一遍地从命令窗口中输入指令 将变得非常不方便 不能修改 也不能保存 在这种情况下 M文件非常有用而且必要 38 1 选择 File New M file 将打开一个文本编辑窗口 如图所示 保存M文件 File save打开M文件 File open 怎样建立 保存和打开M文件 2 在commandwindow中输入edit命令 Matlab文本编辑器 进入文本编辑器的方法有两种 39 例 c3 c1 c2 输入c1与c2 再显示c3之 a 大小 b 相位角 c 实数部分 d 虚数部分 存贮路径为当前的工作目录 程序文件其实就是一个批处理文件 它允许用户把命令放在一个简单的文本文件中 然后告诉Matlab打开文件并执行命令 就如同在命令窗口输入命令一样 文件名自定 40 如何运行M文件 直接在commandwindow中键入文件名exa2 1 或在文本编辑窗口运行Run命令 Note 1 文件名命名规则同变量名 2 相当于在commandwindow中逐条输入命令 3 程序文件的工作空间和Matlab的工作空间是相同的 本例中 在工作空间可看到变量c1 c2 c3 41 函数文件也是一种 文件 它是为完成某一特定任务而编写的 并且带有输入和输出的 文件 这种类型的 文件近似于程序语言中的子程序 包含有输入 传送到 文件的参数 输出 从 文件返回的值 以及含有局部变量的命令体 Matlab其实就是一个函数的海洋 各种各样的领域都可以在Matlab中找到对应的函数 可根据需要学习一些相关的函数 用户也可用函数命令创建自己的函数 M函数 什么是M函数 42 function output1 output2 filename input1 input2 input3 commentsexpression s function相当于函数的接口 引入和导出函数变量的数目和它们的类型 标量 向量 矩阵等 输出变量多于1个时 用 括起来 函数文件的第一个非注释行必须按照特定的格式书写 文件名为 filename m 函数的基本结构 注释 表达式 函数名 输入变量 43 function x gaussElim A b FilegaussElim m ThissubroutinewillperformGaussianelmination i e givenAandbitcanbeusedtofindx Ax b A matrixforthelefthandside b vectorfortherighthandside DesignedbyWang 用高斯消元法 求解方程AX b 例 Help命令可显示的部分 Help命令不显示 HelpgaussElim 函数名 m文件的名字应该和函数名相同 gaussElim m 44 N max size A PerformGaussianElimination 高斯消元 forj 2 N fori j N m A i j 1 A j 1 j 1 A i A i A j 1 m b i b i m b j 1 endend Performbacksubstitution 高斯回代 x zeros N 1 x N b N A N N forj N 1 1 1 x j b j A j j 1 N x j 1 N A j j end 函数体语句 在函数程序中没有结束字符或表达式 如end语句 它被用于for while if和switch结构而不用于函数 注意 表达式的写法和程序文件的写法相同 函数所使用的输入变量用变量名定义 其他变量由表达式定义 45 函数的调用 C 1236 4323 991 2 4221 a 1214 y gaussElim C a y 0 6809 0 89361 8085 0 5532 调用函数 结果显示 函数中使用的变量名不必和从matlab命令窗口 程序文件或另一函数中调用此函数时使用的名字一致 但圆括号内输入变量的位置确定了信息的传递顺序 在调用语句中的第一个参数将值传递到函数接中定义的第一个参数 依此类推 给输入变量赋值 46 M函数与M程序文件的比较 后缀名均为 mM函数有自己专用的工作空间 它与matlab的工作空间分开 函数内部变量与matlab工作空间之间的唯一联系就是函数的输入和输出变量 这与M程序文件完全不同 而且函数是值传递的 换而言之 你在函数内部对输入变量做任何修改 都不会影响matlab工作空间的变量 47 数据的输入 给变量赋值 向量 矩阵等 Input函数定义只包含数据的函数数据存放于ASCII文本文件中 然后用load函数调用Matlab与Excel连接 48 在程序设计时 往往需要在命令窗口中显示信息 以提示用户输入什么 可采用input函数 格式如下 InputData input EntertheDataA 在命令窗口中显示 EntertheDataA 在此输入数据 可以是标量 向量 矩阵和字符串 数据的输入 input函数 EntertheDataA 1 2 3 4 InputData 1234 用户输入 若输入为字符串 则输入 string 49 数据的输入 定义存储数据的函数 functiondat FactorialDatadat1 159 168 158 166 175 179173179164187163185168197170194 dat2 163175163168178183168182159189159191174199174198 dat dat1dat2 函数调用 fdata FactorialData 当函数仅仅用来以指定的方式存储数据时 函数不需要任何输入参数 50 数据输入 用load函数调用文本文件 load函数的作用是将不带扩展名的主文件名变为变量名 将文件中的数据变为向量或矩阵元素 将数据存放在ASCII文本文件中 然后调用load函数 51 程序流程控制 Matlab中程序流程控制命令有4种 while if for switch 一 while循环 语法结构 while条件语句end 52 if语句 if条件 1表达式 1elseif条件 2表达式 2else表达式 3end if语句的常见格式 53 for循环 for循环可按指定次数重复执行一系列语句 其常见结构如下 for变量 s1 s3 s2循环语句end 54 switch语句 其基本语法结构如下 switch开关表达式case表达式1语句段1case表达式2语句段2 otherwise语句段nend 开关表达式 表达式1 表达式2 其他 语句段1 语句段2 语句段n 等于 等于 等于 55 第三部分Matlab绘图 56 二维图形绘制 基本的绘图指令Plot x y 绘制以x为横坐标 以y为纵坐标的二维图形 57 我们可以对图形的颜色和线型进行修改 在plot命令里加入第三个参数 在单引号内 t 0 0 25 7 y sin t plot t y r 如将上例中正弦曲线改成红色的点线 其它颜色和线型如表所示 图形窗口的修饰 58 举例参见demos graphic lineplotting 图形修饰的各种选项 59 x linspace 0 2 pi 50 y sin x z cos x plot x y r x z gx 在同一图形窗口中画多根曲线 方法一 y sin t cos t plot t y 方法二 60 方法三 采用holdon和holdoff可达到同样的效果 x linspace 0 2 pi 50 y sin x plot x y r z cos x holdonplot x z gx holdoff 在默认情况下 每执行一次plot命令 当前图形将被刷新 如果用了holdon命令 从那开始的所有图形将会画在同一图形窗口中 不会刷新以前的图 直到holdoff出现 在同一图形窗口中画多根曲线 61 命令格式为 subplot m n p 将图形窗口分成m行 n列个子窗口 p是所选择绘图子窗口 比如 要想将正弦曲线 余弦曲线以及正切曲线画在一个图形窗口中 但又不在同一坐标轴上 下面这个M file可以实现 图形窗口的分割 subplot函数 62 x linspace 0 2 pi 50 y sin x z cos x w tan x subplot 2 2 1 将图形窗口分成2 2的4个子窗口 选择第一个画正弦曲线plot x y subplot 2 2 2 plot x z subplot 2 2 3 plot x w subplot函数 续 63 命令格式如下 axis xmin xmax ymin ymax t 0 0 01 5 y exp 5 t 1 plot t y 如 画出函数y exp 5t 1的曲线 axis 0 1 0 50 改变坐标轴的大小axis命令 64 title titlestring 加入图形标题 xlable x axisstring 给x轴加标注 ylable y axisstring 给y轴加标注 此外 还可以在图形上加标注 text xcor ycor textstring xcor ycor 为第一个字符的坐标值 gtext textstring 使用鼠标决定文本的位置 给图形加入文本标注 所有这些命令都可以绘图命令完了以后加入 65 在前例中程序后加上以下指令 title thisisaplot xlabel time sec ylabel yout text 0 4 40 y exp 5t 1 gtext y exp 5t 1 给图形加入文本标注 续 66 figure n 打开一个新的图形窗口 保留以前的图形窗口 若n省略 则matlab自动给出下一个整数值 clf 清除当前的图形 使当前的图形窗口为空白 若要选择某一个已有的图形窗口 也可采用figure n 其它图形控制命令 figure clf grid 67 grid 给图形加网格gridoff 去掉网格 其它图形控制命令 figure clf grid 续 close 关闭当前的图形窗口 68 三维图形绘制 三维曲线的绘制Plot3 x y z 选项 x y z分别为维数相同的向量 69 三维图形绘制 2 三维曲面的绘制mesh x y z 绘制三维表面网格图 f x y 70 三维图形绘制 2 三维曲面的绘制surf x y z Surf画出的曲面由彩块组成z f x y 71 Meshc是在得到曲面的同时 还可以在Z 0平面上显示等高线 Meshgrid函数创建了两个301 301阶矩阵 因此可以估算出X Y在任意组合下的Z的值 估算方法是通过计算Z Z X Y 时由隐含的点操作完成的 72 第四部分simulink基础 可视化建模与仿真 73 基本使用 启动simulink的方法有三种 simulink模型库浏览器 1 在命令窗口键入simulink 2 file new model3 按matlab工具栏中的simulink按钮 74 仿真一个简单的模型 75 Simulink模型的建立 打开一个空白的编辑窗口并将模块库中模块复制到编辑窗口中 链接 76 模块的连接与简单处理 未连接 给模块加阴影效果 改变字体 修改模块的背景色 77 模块参数的修正 如饱和模块的参数对话框 78 启动仿真环境 Startsimulation 79 仿真控制参数选择 打开仿真参数对话框 80 仿真控制参数选择 续 仿真时间 仿真算法选择 输出信号的精确处理 一般连续系统仿真应该选择ode45变步长算法 对于刚性问题可选择变步长的ode15s算法 离散系统一般默认地选择定步长的discrete算法 离散模型中含有连续环节的要采用诸如四阶龙格库塔此类的算法 81 Simulink模块库介绍 82 标准Simulink模块库 83 Simpowersystems模块库 84 结束
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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