




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数学建模培训Matlab,2017.10.21,目 录,前言 第 1 章 MATLAB 概述 第 2 章 MATLAB 基本语法 第 3 章 MATLAB 基本绘图 第 4 章 MATLAB 数值计算 第 5 章 MATLAB 基本程序设计 第 6 章 MATLAB 图形用户界面设计 第 7 章 MATLAB 符号数学工具箱,前 言,(一)为什么开设本课程,由于MATLAB的独特优势,开设本课程:,2、简单易用的程序语言,3、强大的科学计算及数据处理能力,4、出色的图形处理功能,1、友好的工作平台和编程环境,5、工程师必备的工具,前 言,(二)课程特点,1、是一门计算机语言课,2、是一门实践性
2、很强的课,前 言,(三)课程内容,1、MATLAB 概述,2、MATLAB 基本语法,4、MATLAB 数值计算,3、MATLAB 基本绘图,5、MATLAB 基本程序设计,7、MATLAB 工具箱(符号数学),6、MATLAB 图形用户界面设计,前 言,(四)要求,勤学习、勤实践。 多沟通、共提高。,第 1 章 MATLAB概述, MATLAB简介 MATLAB的特点 MATLAB的组成 MATLAB的工作环境 MATLAB的通用命令,主要内容,1.1 MATLAB简介-发展,1970年代中期 ,Cleve Moler博士开发了 : EISPACK(特征值求解的程序库) LINPACK(解线
3、性方程的程序库 ),1970年代后期, Cleve Moler编写接口程序 :MATLAB,即MATrix和LABoratory前3个字母的组合,是“矩阵实验室”的缩写,它是一种以矩阵运算为基础的交互式程序语言。,1983年春,Cleve Moler和John Little用C语言开发了第二代专业版,84年,两人成立了Mathworks公司,正式把MATLAB推向市场。,1.1 MATLAB简介-发展,1988年,推出MATLAB3.x版本(DOS版)。,1993年,推出MATLAB4.0版本(Win3.x)。,1997年,推出MATLAB5.0版(Windows95)。,1999年,推出MA
4、TLAB5.3版本R11(流行较广)。,2000年,推出MATLAB6.0版本R12 (Win98/Win2000),2001年,推出MATLAB6.1 (克服6.0不支持P4,Win me,汉字等)。,2002年,推出MATLAB6.5R13(速度更快、性能更优越等)。,2004年,推出MATLAB7版本R14,2017年,9月14日正式推出MATLAB R2017b版本,2006年,推出MATLAB R2006a、 R2006b版本, 每年2个版本,1.1 MATLAB简介-特点,1、运算功能强大,2、人机界面友好,编程效率高,3、强大而简易的作图功能,4、强劲的工具箱,5、动态仿真功能,
5、是一个强大的功能演算性草稿纸,难点:函数较多,仅基本部分就有700多个。,1.1 MATLAB简介-组成,MATLAB 软件由四部分组成:,1、基本部分(核心): 程序主体和基本函数(约700多个)。,2、专业扩展部分(工具箱) : 有30多个工具箱,由大量专业函数组成(上千个函数)。,3、符号数学工具箱 : 基于Maple软件的符号数学引擎。,4、仿真工具箱(Simulink): 用于建立系统的数学模型和仿真分析等。,1.2MATLAB的工作环境,MATLAB的启动 方法一:点击快捷方式图标 方法二:点击文件matlab.exe MATLAB的退出 在MATLAB的命令窗口输入“exit”命
6、令; 在MATLAB的命令窗口输入“quit”命令; 直接单击MATLAB命令窗口的 按钮。 界面简介,1.2 MATLAB工作环境-界面,选项卡,工具栏,当前文件夹,命令行窗口,当前工作路径,工作区,1.2.1 命令窗口(Command Window),MATLAB提供给用户使用的管理功能的人机界面,在命令窗口中输入MATLAB的命令和数据后按回车键,立即执行运算并显示结果。 说明:命令窗口中的“”为命令提示符,表示MATLAB处于准备状态。 当在提示符后输入一段程序或一段运算式后【Enter】键,MATLAB会给出计算结果,并再次进入准备状态(所得结果将被保存在工作空间窗口中)。,在命令窗
7、口内执行的MATLAB主要操作有: 运行函数和输入变量;控制输入和输出;执行程序,包括M文件和外部程序。,命令窗口中可直接运行MATLAB 函数,而这些函数往往又和MATLAB命令直接联系。,MATLAB在命令窗口中的语句形式为: 变量表达式;,运行函数和键入变量,在命令窗口的提示符“”下 ,可以直接输入变量。 例:计算A=256/41002128 A=256/4-100*2+128 %从键盘输入,并单击回车键 A = %屏幕显示的结果 -8 MATLAB语法规定,百分号“%”后面的语句为注释语句。,例 在命令窗口中输入不同的命令和数值,并查看其显示方式。, a=0.5 a = 0.5000
8、b=sin b = sin if a1 c=true %如果a1则c为true end c = 1,1.2.2 历史命令(Command History),历史命令窗口用来记录并显示已经运行过的命令、函数和表达式。 按方向键上、下键,可回访历史命令,1.2.3 当前目录(Current Directory),当前目录窗口中显示了MATLAB当前工作目录下的所有文件夹与文件,以便用户对当前目录下的文件进行管理。,查看工作目录下文件的相关信息的常用命令,what:列出当前目录下的M、MAT、MEX文件清单。 dir:显示当前目录或指定当前目录下的文件。 cd 路径:改变或显示当前工作目录;路径可省
9、略,省略时为显示当前工作目录;cd .表示回到上一级目录。 type:显示文件内容。 delete:删除文件。 which 文件名:指出M文件、MEX文件、工作空间变量、内置函数或Simulink模型所在的目录。,1.2.4 工作空间(Workplace),MATLAB在进行运算时,将变量存储在内存中,这些存储变量的内存空间称为基本工作空间,简称工作空间。 工作空间窗口以列表形式显示了MATLAB工作区中当前所有变量的名称及其属性。 不同的变量类型使用不同的图标。,内存变量查阅、删除的指令操作法,在指令窗中运用who, whos查阅MATLAB内存变量。 who命令:查看现存于基本空间的变量
10、whos命令:详细查看现存于基本空间的变量 在指令窗中运用clear指令可以删除内存(工作空间内)的某一或所有变量 如:clear A , clear all,1.2.5数组编辑器窗口(Array Editor),启动数组编辑器窗口的方法有: 在工作空间窗口中双击该变量; 在工作空间窗口中选择变量,按鼠标右键在快捷菜单中选择“Open”菜单;,1.2.6 文件编辑/调试(Editor/debugger),MATLAB通过自带的M文件编辑/调试器来创建和编辑M文件。 进入MATLAB文件编辑器的方法如下: 命令窗口直接键入命令:edit, 打开编辑器编辑Untitled.m文件。 使用命令窗口中
11、的菜单或工具条上的快捷工具按钮。 M文件编辑/调试器窗口是标准的windows 风格。 编辑M文件可用其它任何文本编辑器进行。,1.3MATLAB命令窗口的主要操作,命令窗口显示方式的操作 数值计算结果的显示格式 指令行中的标点符号 命令窗口中指令行的编辑 命令窗口的通用命令,命令窗口显示方式的操作,一 缺省显示方式 对窗口内的字符数码分类采用不同的颜色。 二显示方式的设置 对命令窗口的字体风格、大小、颜色和数值计算结果格式进行设置。,MATLAB数据格式与显示形式,MATLAB既可用传统的十进制数表达数值,也可以用科学计数表达数值,用e代表10的指数形式,用i和j来代表虚数。 MATLAB内
12、部数据格式只有一种,是IEEE浮点标准的双精度二进制(64位) 为了人机交互的友好性,数据输出显示格式有8种 。 可用菜单选项或format命令选择。,注:数值的显示精度并不代表数值的存储精度。,数值计算结果的显示格式 : 在参数设置对话框 的“变量”栏设置数据的显示格式。 另一种方法是直接在命令窗口中使用“format”命令来进行数值显示格式的设置。 format 格式描述,预设,变量,格式,数值计算结果的显示格式表中实现的所有格式设置仅在MATLAB的当前执行过程中有效,例 使用format函数在命令窗口中显示运算结果。 a=sin(60*pi/180) a = 0.8660 format
13、 long a a = 0.86602540378444 format short e a a = 8.6603e-001 程序分析: long格式为15位数字显示,short e为5位科学计数显示。,常见标点符号的作用,半角逗号“ , ” 和半角分号“; ”都可以用来分隔MATLAB的指令(函数)或变量。 MATLAB允许一行内出现多条指令。 MATLAB的指令(函数)后使用半角分号“;” ,它的作用是用来避免在命令窗口显示程序运行的中间结果 。 注:可以使用shift+Enter(或shift+Return),表示要输入多行命令后再运行,待最后一行命令输入完毕,再回车,MATLAB才开始运
14、行上述诸条命令。,常见标点符号的作用,对于较长的命令行,可用符号“”来表示换行继续写入 。 冒号(一个重要的操作符)的作用: 用于生成默认间隔为1的等间隔向量; 用于选出矩阵指定行、列及元素; 用于循环语句。,指令行中的标点符号,例:,a=10*2;b=a+5,c=a*b;d=c+a, A=1 2 3;4 5 6;7 8 9 B=1,2 3 4,5,6 7 8 9 C=1;2;3,命令窗口中指令行的编辑,为方便操作,MATLAB允许用户对已经输入的指令进行回调、编辑和重运行。,命令窗口的常用控制指令,1.4 MATLAB 7.3 的其他管理,MATLAB文件格式 MATLAB 7.3的常用文件
15、有.m、.mat、.fig、.mdl、.mex、.p等类型 。 设置搜索路径 用户自己书写的函数有可能并没有保存在搜索路径下。要解决这个问题,只需把程序所在的目录扩展成MATLAB的搜索路径即可。,MATLAB文件格式,程序文件 程序文件即M文件(M-File),其文件的扩展名为.m。 图形文件 图形文件(Figure)的扩展名为.fig。 模型文件 模型文件(Model)扩展名为.mdl,可以在“File”菜单中创建Model时生成.mdl文件。 数据文件 数据文件即MAT文件,其文件的扩展名为.mat。,MATLAB文件格式,可执行文件 可执行文件即MEX文件,其文件的扩展名为.mex。
16、项目文件 项目文件的扩展名为.prj。 P码文件 P码文件即伪代码文件,是M文件被调用后在内存中生成的内部伪代码。,设置搜索路径,在MATLAB内存中进行检查,检查“sin”和“x”是否为工作空间的变量或特殊变量; 检查“sin”和“x”是否为MATLAB的内部函数; 在当前目录上,检查是否有相应的“.m”或“.mex”文件存在; 在MATLAB搜索路径的所有其他目录中,依次检查是否有相应的“.m”或 “.mex”的文件存在; 如果都不是,则MATLAB发出错误信息。,1. MATLAB的基本搜索过程,2. 设置搜索路径窗口(Set Path),打开设置搜索路径窗口的方法: 在MATLAB在“
17、主页”选项卡选择“设置路径”; 在命令窗口中运行“pathtool”或“editpath”命令。,设置路径,添加,保存,3. 设置搜索路径的常用命令,path命令 path(path, 新目录) addpath命令 addpath 目录1 目录2 参数,例 使用命令设置搜索路径 addpath c:TEMP -begin path (path,c:TEMP) p=path,附:在命令窗口中输入path或genpath可得到MATLAB 的所有搜索路径,,1.5 MATLAB的帮助系统,1使用帮助浏览器 2使用帮助命令 3联机演示,使用帮助浏览器,帮助主题(Contents)、索引(Index)
18、 、搜索(Search)和演示(Demos)四个面板来查找帮助信息:,Contents面板为可展开的树形结构,向用户提供全方位系统帮助的向导图; Index面板是MATLAB提供的术语索引表,可以查找命令、函数和专用术语等。 Search面板是通过关键词来查找全文中与之匹配的章节条目,Index只在专用术语表中查找而Search的搜索是在整个HTML文件中进行的,因此其覆盖面更宽。 Demos面板为MATLAB提供了Demo演示。,使用帮助命令,1、help (帮助),help (显示已安装的函数库和工具箱 ),help 子目录名/库名/工具箱 如:help general or elfun显
19、示基本函数信息 help comm,help 函数名显示具体函数的帮助信息 如:help sin,注意:命令窗口显示的MATLAB帮助信息中,是用大写字母 来突出函数名的,但在使用这些函数时,应该用小写字母。,使用帮助命令,lookfor 关键字 (查找) lookfor命令是在所有的帮助条目中搜索关键字,常用来查找具有某种功能而不知道准确名字的命令。 如:lookfor sound 打开帮助窗口命令: helpwin:打开帮助窗口 helpdesk:打开帮助桌面 demo:打开演示窗口,内容回顾,1、介绍了本课程的特点内容和安排 2、MATLAB的发展、特点和组成 3、MATLAB操作界面
20、4、MATLAB的搜索路径扩展 5、MATLAB的帮助系统,第 2 章 MATLAB基本语法,变量 矩阵的赋值 矩阵的初等运算 矩阵的基本运算函数 矩阵的逻辑运算,主要内容,2.1 变量,1、标识符:,表示变量名,常量名,函数名和文件名的字符串,(1)由字母、数字、下划线等符号组成,第一个字母必须是英文字母 。,(2)变量和常量最长不要超过63个字符,多余截取。可用“namelengthmax”查看.,(3)变量名大小写敏感。,2.1 变量,(5)MATLAB中的特殊变量名,应避免使用。 例如: ans -默认临时变量 pi - eps -计算机中的最小数 inf -无穷大 NaN-非数或不定
21、数(如:0/0) i或j -虚数单位,2.1 变量,2、变量类型 :,(1)数值:内部只有一种类型为双精度(8个字节,64位), 实数为1个双精度数,复数为两个双精度数。 但输出显示格式有8种。 可用format命令来改变显示格式。 例如: format short 显示5位数 (pi: 3.1416) format long 显示15位数(pi: 3.14159265358979) format bank 显示货币格式(pi: 3.14),2.1 变量,数字显示的8种格式,2.1 变量,2、变量类型 :,(2)字符(串):用单引号表示。 如:a=abc 实际上是一个单个字符的ASCII码组成
22、的行向量。,2.1 变量,3、矩阵,MATLAB中的变量或常量都代表一个矩阵, 所有的变量运算其实都是矩阵运算。 单个值实际上是1*1阶矩阵。,矩阵元素可以是数值(实数或复数)或字符串。,一个由矩阵表示的变量可以是一个数、一组数、一个文件(如语音)、一幅图象等。,2.1 变量,3、矩阵,矩阵(Matrix)与数组(Array)的关系 : 矩阵运算有着严格理论 数组运算一般指元素运算,2.1 变量,4、变量的查看:,who/whos,5、变量的保存和恢复:,save 文件名 (缺省后缀为.mat) 例如:save myvar load 文件名 例如:load myvar,2.2 矩阵的赋值,1、
23、矩阵的直接赋值,(1)基本赋值 1)使用 2)同一行元素用空格或,隔开 3)不同行用;隔开 例如:a=1 2 3;4 5 6,(2)复数的赋值: 例如:z=1+2i或1+2j z=1+2i 3+4i z=1 3+2 4*i,2.2 矩阵的赋值,注意: 赋值结尾为“;” 则不显示结果。 一行不够时,可用“”换行。 矩阵的阶数也可通过下列函数获得: 对于一维,m=length(a) 为矩阵a的长度。 例如: a=1 2 3 length(a)为3,2.2 矩阵的赋值,注意: 矩阵的阶数也可通过下列函数获得: 对于二维,m,n=size(a), m为行数,n为列数 例如: a=1 2 3; 4 5
24、6 size(a)为2 3,2.2 矩阵的赋值,2、矩阵元素的赋值,(1)元素用(m,n)的形式表示第m行n列的元素值,可直接引用和赋值。 例如,a(2,1)=4, 若将其改为9, 则可用a(2,1)=9。 注意:如果元素下标超出原矩阵的维数,矩阵将自动扩大,多出的元素自动为0 。,2.2 矩阵的赋值,2、矩阵元素的赋值,(2) 给全行或全列赋值 : 用“:”代替行或列。 如:a(4 , :)=11 12 13 14 b(: , 5)=5; 8; 10; 12 注意:行数或列数必须与原矩阵相同。,2.2 矩阵的赋值,3、矩阵的变换,(1)抽取:由原矩阵中的部分元素 构成新矩阵。 如:b=a(2
25、,4,1,3) 表示第2,4行与第1、3列交叉元素组成新矩阵。,2.2 矩阵的赋值,3、矩阵的变换,(2)抽去:使用空矩阵(无元素),将矩阵整行/列删除。 如:a(2,4,:)= 将2、4行删除 a(:,2)= 将第2列删除,2.2 矩阵的赋值,3、矩阵的变换,(3) 组合:由多个矩阵组成一个新矩阵,但行列应正好。 如:a=1 2 3;4 5 6; b=7 8 9;10 11 12; c=a b; d=a;b;,(4)转置:b=a (行变列) 例如:a=1 2 3;4 5 6 ,则 a=1 4;2 5;3 6,2.2 矩阵的赋值,(5) 排列:b=a(:) 将所有列排成一列。 例如:a=1 2
26、 3;4 5 6; a(:)=1;4;2;5;3;6; 若先转置再排列,即实现按行排列。,(6) 变换函数: fliplr(a) (矩阵左右翻转) (flip翻left right) flipud(a) (矩阵上下翻转) ,3、矩阵的变换,2.2 矩阵的赋值,4、间隔赋值(适合批量数据),(1) 变量=(first:increment:last)形式 如:t=(0:0.1:1) 则 t=0,0.1,0.2,1,(2) 线性间隔函数 linspace(first,last,num) 从first开始到last结束共num个元素, 间隔为(last-first)/(num-1) 如:t= lins
27、pace (0,1,11),t=0,0.1,1,2.2 矩阵的赋值,4、间隔赋值(适合批量数据),(3)对数间隔函数 logspace(first,last,num) 从10first开始到10last结束共num个元素 如:t= logspace (0,1,11),t=100,100.1,101,2.2 矩阵的赋值,5、基本矩阵,(1)空阵: (当操作无结果时,返回空阵),(2)全0矩阵:zeros(m,n) 例如:zeros(2,3)=0 0 0;0 0 0,(3)全1矩阵:ones(m,n),(4)单位矩阵:eye(n) (对角线为1的方阵),(4)随机矩阵:rand(m,n),2.2
28、矩阵的赋值,6、文件赋值,(1) 波形文件(.wav):即音频文件 读波形文件 :a=wavread(文件名), 如:a=wavread(morse.wav) 写波形文件:wavwrite(a, 文件名),波形文件播放:用wavplay或sound, 如:wavplay(a);,2.2 矩阵的赋值,6、文件赋值,(2) 图象文件(.BMP/JPG 等) 读图象文件:a=imread(文件名), 如:b=imread(sz.jpg) 写图象文件:imwrite(b,文件名) 显示图象文件:image(a),2.3 矩阵的初等运算,1、加减法:,矩阵的加减就是对应元素的加减 。 如:a=1 2 3
29、;b=4 5 6,则a+b=5 7 8 ,如果矩阵与一常数(标量)相加减, 则把该常数看成是同阶的矩阵。 例如:a+5=6 7 8,2.3 矩阵的初等运算,2、乘法,(1)矩阵相乘:mp阶矩阵A与pn阶矩阵B的乘积是一个m*n阶矩阵。 例如: a=1 2 3;b=4 5 6 则:a*b=20.,(2)矩阵与常数相乘等于每个元素乘以该常数,例:2*a。,2.3 矩阵的初等运算,2、乘法,(3)矩阵元素相乘(数组相乘):使用“.*” 相乘的两个矩阵阶数应相同 。 例如:a=1 2 3;b=4 5 6 则:a.*b=4 10 18,2.3 矩阵的初等运算,3、除法,(1)矩阵的除法,右除,“/” :
30、A/B=A*B-1 (B的逆矩阵inv(B), B必须是方阵,A与B列应相等。,左除,“” :AB=A-1*B , A必须是方阵,A与B行应相等。,(2)矩阵除以常数,等于每个元素除以常数,使用普通除法/ 。,2.3 矩阵的初等运算,3、除法,(3)矩阵元素的除法(数组相除): “./” :A./B为A各元素除以B中各元素。 “.” :A.B=B./A,2.3 矩阵的初等运算,4、乘方,(1)矩阵乘方 :(乘方是乘法的扩充,为保证合法性,要求矩阵为方阵),A标量 :例 A2,A0.2,(2)元素的乘方: a) A.标量 : 例 A=1 2 ,A.2=1 4,2.3 矩阵的初等运算,4、乘方,b
31、) 标量.A :例 3.A =3 9,c) A.B :A、B同阶 例 A=1 2 ,B=3 4 ,则A.B=1 16,2. 4 矩阵的基本运算函数,1、矩阵的运算函数 (见附录A),指数函数 :expm( ) %变量必须是方阵 对数函数 :logm( ) %变量必须是方阵 开方函数 :sqrtm( ) %变量必须是方阵,三角函数(25个):例如:t=1 2 3,y=sin(t),指数/对数函数(7个): 例如:exp( ),复数函数(8个):例如:abs( ) 取模,取整函数(7个):例:round( ) 四舍五入,2. 4 矩阵的基本运算函数,2、矩阵元素的运算 (基本函数库elfun),1
32、、关系运算:,共6种 : (大于) (小于) = (大于等于)= (小于等于) = = (等于) = (不等于),比较是在元素间进行的。,矩阵必须同阶,比较结果仍为矩阵,且元素值为0(假) 或1(真),例如:a=1 2,b=2 1, 则ab 结果为0 1,a=b 结果为0 0,2. 5 矩阵的逻辑运算,2、逻辑运算 :,共有四种运算符号: plot(y),3.1 基本二维绘图,如果格式1中的y为复数矩阵, 则相当于plot(real(y),imag(y)。,如果y为多行或多列矩阵,则绘制多条曲线。 例如:y2=sin(2*pi*t) ;cos(2*pi*t);plot(t,y2);,2、格式2
33、: plot(x,y),功能:x,y具有相同的长度,绘图时以x元素值为 横坐标,y元素值作为纵坐标,各点以直线相连。,例如:t=(0:0.05:1);y=sin(2*pi*t); plot(t,y);,3.1 基本二维绘图,3、格式3: plot(x1, y1,x2,y2,),功能:相当于,plot(x1,y1),plot(x2,y2),绘制多条曲线在一个图中。,例如:t1=(0.5:0.05:1.5); y1=2*sin(2*pi*2*t1); plot(t,y,t1,y1);,3.1 基本二维绘图,4、格式4: plot(y,s) plot(x,y,s) plot(x1,y1,s1,x2,
34、y2,s2),s为一格式字符串,用于设置绘图颜色、线型、点 例如;plot(t,y,*b); plot(t, y,xr,t1,y1,:k),3.1 基本二维绘图,二、plotyy- 双坐标绘图,格式:plotyy(x1,y1,x2,y2),功能:将y1的坐标标在左边,y2标在右边, x1,x2 共用横坐标。 例如:plotyy(t,y,t1,y1),3.1 基本二维绘图,三、loglog / semilogx /semilogy-对数坐标绘图,功能:与plot用法相同,区别为坐标轴为对数 loglog( ):X-Y轴均为对数 semilogx( ):X轴为对数(半对数) semilogy( )
35、:Y轴为对数(半对数),例如:yl= (1:1:100);semilogy(yl);,3.1 基本二维绘图,四、polar-极坐标,格式:polar(,r) 功能:以为角度,r为半径绘图。,例:x=(0:pi/100:2*pi); yp=abs(sin(x); polar(x,yp),3.1 基本二维绘图,五、多曲线绘图控制,1、图形保持,格式:hold on(off) 功能:用于保持当前绘图,以便在同一坐标上再绘制另外图形 。,例如:plot(t,y); hold on; plot(t1,y1),3.1 基本二维绘图,2、子图控制,格式:subplot(m,n,p) 功能:将窗口分成m(行)
36、*n(列)个子图, 并指定在第p个子图中绘图,例如:subplot(3,2,2); plot(t,y); subplot(3,2,3); plot(t1,y1);,3.1 基本二维绘图,3、窗口控制,格式:figure(n) 功能:打开一个新窗口用于当前绘图,n为该窗口的句柄(唯一标识),用于在多个窗口中绘图。,例如:figure(1); plot(t,y); figure(2); plot(t1,y1);,3.1 基本二维绘图,1、 title(s) 给图形加标题 例如: plot(t,y); title(sine wave),2、 xlabel (s) 给x轴加标注 例如:xlabel(t
37、(s),3、 ylabel (s) 给y轴加标注 例如:ylabel(V(mv),六、图形控制,3.1 基本二维绘图,4、 text (x,y,s)在图形指定位置(x,y)加标注 例如:text(0.5,0.8,t=0.5s v=0.8),5、 legend (s1,s2,) 添加图例 例如: plot(t,y,t1,y1);legend(sine,cosine),6、 grid on(off) 打开、关闭坐标网格线 例如:grid off,7、zoom on(off) -允许放大/缩小,3.1 基本二维绘图,8、 axis 控制坐标轴的刻度, axis(xmin,xmax,ymin,ymax
38、) 设定坐标轴的最大最小值 例如:plot(t,y);axis(-1 2 2 2), axis(equal)将两轴设为相等。 axis on(off) 显示或关闭坐标轴,3.2 特殊二维绘图,二维特殊绘图函数使用方法基本同plot.,例如:stem(t,y),2、bar 绘制直方图,例如:bar(t,y),1、stem 绘制火柴杆图,3、stairs 绘制阶梯图,例如:stairs (t,y,r),3.2 特殊二维绘图,4、area 区域图,例如:x=ones(1,5);area(x) 注意同 bar 的区别,5、 pie 饼图,例如:x=1 2 3 2 1 1 ; y=0 0 1 0 0 0
39、; pie(x,y),还有其它特殊函数。,回顾 PLOT 命令的格式,格式1: plot(y),格式2: plot(x,y),格式3: plot(x1, y1,x2,y2,),格式4: plot(y,s) plot(x,y,s) plot(x1,y1,s1,x2,y2,s2),figure subplot,3.3 基本三维绘图,一、plot3-基本三维曲线,1、格式1:plot3(x,y,z),功能:x,y,z具有相同的长度,绘图时将元素值 对应的点(x,y,z)以直线相连。,例题 1,3.3 基本三维绘图,x=0:pi/10:5*pi; y=sin(x); z=cos(x); figure;
40、 subplot(2,1,1); plot3(x,y,z);,3.3 基本三维绘图,2、格式2:plot3(x1,y1,z1,x2,y2,z2),功能:绘制多条曲线,例如:plot3(x,y,z,x,z,y),3.3 基本三维绘图,3、格式3:plot3(x,y,z,s) plot3(x1,y1,z1,s1,x2,y2,z2,s2),功能:用于设置绘图颜色和线型 字符串意义同plot。,例如:plot3(x,y,z,*r,x,z,y,:b),3.3 基本三维绘图,例题 2,t=0:0.02*pi:2*pi; x=sin(t); y=cos(t); z=cos(2*t); figure; sub
41、plot(2,1,1); plot3(x,y,z,bd); subplot(2,1,2); plot3(x,y,z,b-,x,y,z,bd);,3.3 基本三维绘图,二、mesh -三维网格图,1、格式1:mesh(z),功能:z为二维矩阵,绘图时, 以元素下标( x = 1:n ,y = 1:m.) 作为X-Y坐标, 元素值作为Z坐标, 将各点连成网格。 颜色与高度成比例。,3.3 基本三维绘图,例题 3,figure; subplot(2,1,1); z=eye(10); mesh(z); subplot(2,1,2) z=peaks(20); %高斯分布函数 mesh(z);,Quest
42、ion:,如何画一个立体的抽样函数图(sin(r)/r)?,3.3 基本三维绘图,3.3 基本三维绘图,x=-8:0.5:8;y=x; X=ones(size(y)*x; Y=y*ones(size(x); R=sqrt(X.*X+Y.*Y); z=sin(R)./R;mesh(z);,3.3 基本三维绘图,例如:xx,yy=meshgrid( 1 2 3 4,1 2 3 4),可以使用meshgrid()函数产生网格坐标: 格式:X,Y=meshgrid(x,y) x,y为向量, X的行为x的拷贝,Y的列是y的拷贝,X,Y同维,x=-8:0.5:8;y=x; X=ones(size(y)*x
43、; Y=y*ones(size(x); R=sqrt(X.*X+Y.*Y); z=sin(R)./R;mesh(z);,3.3 基本三维绘图,3.3 基本三维绘图,2、格式2:mesh(x,y,z),功能:x,y,z 为三个矩阵, 以各元素值为三维坐标点绘图, 并连成网格。,画一个球体 xx,yy,zz=sphere(30);,例题 7,3.3 基本三维绘图,%球体函数,figure; xx,yy,zz=sphere(30); mesh(xx,yy,zz);,3.3 基本三维绘图,画一个高斯分布曲面 x,y,z=peaks(30);,例题 8,figure; xx,yy,zz=peaks(30
44、); mesh(xx,yy,zz);,3.3 基本三维绘图,功能:在网格下画一窗帘(垂直线) 例如:meshz(x,y,z),4、格式4:meshz(x,y,z),3、格式3:meshc(x,y,z),功能:在网格下画一等值线图 例如:meshc(x,y,z),例题 9,x,y,z=peaks(30); subplot(2,1,1); mesh(x,y,z); meshc(x,y,z); subplot(2,1,2); mesh(x,y,z); meshz(x,y,z);,3.3 基本三维绘图,三、surf-三维曲面图,1、格式1:surf(z) 或 surf(x,y,z) 基本同mesh,只
45、是将直线变为小曲面 例如: surf(x,y,z),3.3 基本三维绘图,例题 10,x,y,z=peaks(30); subplot(1,2,1); mesh(x,y,z); subplot(1,2,2); surf(x,y,z);,3.3 基本三维绘图,三、surf-三维曲面图,2、格式2:surfc(z) surfc(x,y,z),带等高线的曲面图 例如:surfc(x,y,z),3.3 基本三维绘图,四、三维图形的颜色修饰,颜色是三维图形中的第四维,如果不指定,则以Z轴值为准,1、色图函数:colormap(map),通过系统预置的色图,可改变显示的颜色,例如:surf(x,y,z);
46、 colormap(hot) colormap(spring),3.3 基本三维绘图,2、显示颜色条:colorbar,例如:surf(x,y,z);colorbar,3.3 基本三维绘图,3、颜色的浓淡处理:shading,用于改变mesh或surf的小网格或曲面的着色。有三种方法: shading flat:去掉黑色线条,根据小方块的值确定颜色(平滑) shading interp:根据小方块四角的值差补过度点的值确定颜色(内插) shading faceted(缺省)(小平面),3.3 基本三维绘图,五、图形控制,1、view(方位角,俯仰角) -改变视角 缺省为(-37.5, 30),
47、 例如:view(0,0) (看不见Y轴),二维图形控制命令,大都适合三维图形控制,2、rotate3d on(off) -允许旋转,3、hidden on(off) -隐藏或透视被遮挡的地方,3. 4 特殊三维绘图,1、stem3(x,y,z) - 三维火柴杆图: 例如:stem3(x,y,z),2、bar3(z) - 三维条形图(同二维) 例如:bar3(1 2 3 2 1),3、pie3 (x,p)- 三维饼图(同二维): 例如:pie3(1 2 3 2 1 1 ,0 0 1 0 0 0),还有其它特殊函数。,动画,1、命令: moviein,getframe, movie,2、例子:,
48、axis equal M = moviein(16); for j = 1:16 plot ( fft (eye(j+16); M (: , j) = getframe; end,动画,再键入: movie ( M , 5) Matlab就把M中图形播放5遍。,内容回顾,MATLAB基本绘图: 1、基本二维绘图 2、特殊二维绘图 3、基本三维绘图 4、特殊三维绘图,第4章 MATLAB 数值计算, 基本的数据分析 矩阵函数 多项式运算 函数和数值积分 数据分析 稀疏矩阵,主要内容,4.1 矩阵函数,一、基本数据分析,注:Matlab的基本数据处理功能是按列进行的。,4.1 矩阵函数,二、矩阵函
49、数,矩阵的分析计算: 求矩阵的行列式、秩、逆矩阵、特征 向量等等; 矩阵的各种分解: (将一个大矩阵分解为多个简单矩阵的连乘) 如:三角分解、正交分解、奇异值分解等。,4.1 矩阵函数,二、矩阵函数,矩阵的交集运算: 格式:intersect(A,B) 功能:返回值为向量A,B的公共部分。 矩阵的并集运算: 格式:union(A,B) 功能:返回值为向量A,B的公共部分。,4.1 矩阵函数,三、线性方程组的求解(应用矩阵函数),线性方程组一般形式:AX=B (A 为 m n矩阵) 当m=n时,此方程成为“恰定”方程 当mn时,此方程成为“超定”方程 (3) 当mn时,此方程成为“欠定”方程,A
50、=1,2;2,3; B=8;13; X=inv(A)*B XX=AB,4.1 矩阵函数,三、线性方程组的求解(应用矩阵函数),1、恰定方程组的解 (有唯一的一组解),AX=B A-1AX= A-1 B X= A-1B=AB 有两种求解方法:(1) X= inv(A)*B (速度较慢) (2) X=AB (速度快,精度高),4.1 矩阵函数,2、超定方程组的解 (没有精确解),AX=B (将A变为方阵 )AAx=AB X= (AA)-1 AB= pinv(A)*B (广义逆 ) 有两种求解方法: (1) X= pinv(A)*B (2) X=AB (用最小乘方法找一个精确解),4.1 矩阵函数,
51、A=1,2;2,3;3,4; B=1;2;5; X=pinv(A)*B XX=AB,4.1 矩阵函数,3、欠定方程组的解 (有无穷多个解 ),有两种求解方法: (1) X= pinv(A)*B (具有最小长度或范数的解) (2) X=AB (具有最多零元素的解),A=1,2,3;2,3,4; B=1;2; X=pinv(A)*B XX=AB,4.2 多项式运算,一、多项式的表示 一般形式: 用系数向量来表示:p=an an-1 a1 a0,%B(s)=3*s2+6*s+9 %A(s)=2*s3+4*s2+6*s+8 B=3 6 9; A=2 4 6 8;,4.2 多项式运算,二、多项式的运算
52、1、多项式的加减 对应系数相加减,如果系数长度不等,应在前面补零 。 例如:p1=1 2 3; p2=1 3 5; p3=1 3 则:p1+p2=2 5 8 p1+p3=1 3 6,4.2 多项式运算,2、多项式的乘法(数组卷积),4.2 多项式运算,2、多项式的乘法 格式:conv(p1,p2) (卷积) 例如:p1=1 1; p2=1 2; p3=conv(p1,p2)=1 3 2 ;,4.2 多项式运算,3、多项式的除法 (数组解卷积) 格式:q,r=deconv(p1,p2) (q商,r余数) 例如:p1=1 1; p3=1 3 2; q ,r=deconv(p3,p1),4.2 多项
53、式运算,三、多项式的求解 1、多项式的求导(微分) 格式:polyder(p) 例如:p=1 2 3 4; polyder(p)的运算结果为3 4 3,4.2 多项式运算,2、多项式的求根 格式: roots(p) (由多项式求根) 例如:p=1 3 2; roots(p)的运算结果为-2 ; -1 格式: poly(r) (由根求多项式) 当r为向量时,poly 把r作为根求出多项式。 如:r=-2; -1,poly(r)的运算结果为1 3 2 当r为方阵时,poly(r) 即为方阵r的特征多项式,4.2 多项式运算,3、多项式的求值 格式: polyval(p,v) (返回当x=v时多项式
54、的值,v 可以是复数) 例如: p=1 2 3; polyval(p,1) 的运算结果为6,Question:,求出该系统的频率响应并画出频率特性?,例题,clc; clear all; %多项式求值的应用 %B(s)=3*s2+6*s+9 %A(s)=2*s3+4*s2+6*s+8 %H(s)=B(s)/A(s) B=3 6 9;A=2 4 6 8; w=linspace(0,10); BB=polyval(B, j*w); AA=polyval(A, j*w); subplot(2,2,1); plot(w,abs(BB ./ AA); subplot(2,2,3); plot(w,ang
55、le(BB ./ AA);,w1=logspace(-1,1); B1=polyval(B,j*w1); A1=polyval(A,j*w1); subplot(2,2,2); semilogx(w1,abs(B1./A1); subplot(2,2,4); semilogx(w1,angle(B1./A1);,例题,4.2 多项式运算,四、多项式的拟合 多项式的拟合就是用多项式函数所表示的曲线来描述一些已知的点,使这些点尽量逼近曲线。 格式:p=polyfit(x,y,n) x,y为已知的点坐标向量,n为多项式的幂次,x=0 10 20; y=20 80 40; subplot(2,1,1)
56、; plot(x,y,*r); p=polyfit(x,y,2); subplot(2,1,2); plot(0:20),polyval(p,(0:20);,4.2 多项式运算,例题,4.2 多项式运算,五、多项式的插值 插值是在一些已知点之间插入一些点,使这些点的连线与已知点连线更逼近.,4.2 多项式运算,1、一维插值(平面插值),格式:yi=interp1(x,y,xi,method) x,y 为已知的点坐标向量, xi,yi为插入点的x和y坐标向量. method:linear (线性,默认) cubic(三次,拐角更光滑) cubic spline (三次样条),%平面插值 x=0
57、10 20; y=20 80 40; plot(x,y,r); yi=interp1(x,y,(0:20),cubic); hold on; plot(0:20),yi);,例题,4.2 多项式运算,2、二维插值(立体),格式:zi=interp2(x,y,z,xi,yi,method) x,y为已知的点坐标向量,z为矩阵(x,y对应点的值)xi,yi 为插入点的 X,Y 坐标向量 method:同 上 zi为xi,yi的插入值。,%立体插值 x=(-4:1:4); y=x; x1,y1=meshgrid(x,y); z=peaks(x1,y1); subplot(2,1,1); mesh(x1,y1,z); xi=(-4:0.2:4); yi=xi; zi=interp2(x,y,z,xi,yi,cubic); subplot(2,1,2); mesh(xi,yi,zi+20);,例题,4.3 函数和数值积分,一、函数的绘图及分析,1、绘制函数曲线 格式: fplot(函数名,lims,s) 功能: 绘制指定函数的曲线, lims为x,y 轴的最小最大值, s可指定线形,函数和数值积分库(funfun) 特殊函数库(specfun),%函数的绘图 subplot(3,1,1); fplot(sin,2*p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黑龙江七台河市2025年高二物理第二学期期末统考模拟试题含解析
- 2025届河南省驻马店市名校高二物理第二学期期末教学质量检测模拟试题含解析
- 2025届浙江省丽水地区四校 高二物理第二学期期末调研试题含解析
- 2025年四川省眉山市第一中学物理高二下期末复习检测模拟试题含解析
- 2025届山东省枣庄市第四十一中学物理高二下期末复习检测试题含解析
- 二零二五年地产广告VI视觉形象设计服务合同
- 2025版场反应技术风险投资与孵化合同
- 2025版班组工前会工后会记录规范及培训服务合同
- 2025版上市保荐人尽职调查与风险评估专业服务合同
- 2025版不良资产处置与资产优化专项法律服务合同
- 2025年公共卫生设施建设项目社会稳定风险评估与风险控制报告
- 《痕迹检验技术》课件
- 光纤通信-08-光波分复用课件
- T-CHTS 20023-2022 公路中央分隔带开口钢管预应力索护栏
- 2024年广东省徐闻县事业单位公开招聘教师岗笔试题带答案
- 2025年高考作文备考之模拟名题解析及范文:慎独
- 新高考背景下高中实验班拔尖创新人才培养的实践与探索
- 进气系统课程讲解
- 合并呼吸系统疾患病人手术的麻醉指南
- 跨学科实践调研桥梁建筑中的力平衡-沪科版物理八年级下册教学课件
- 钢筋工培训课件
评论
0/150
提交评论