版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1单位:单位: 湖北师院物电院湖北师院物电院主讲:主讲: 杨义发杨义发 Email:yifa_时间:时间: 2013年年9月月与通信系统仿真与通信系统仿真2MATLAB是什么是什么Matlab(即即Matrix Laboratory)是美国是美国MathWorks公司出品的商业数学软件公司出品的商业数学软件-科学计算科学计算软件;主要包软件;主要包括括Matlab和和Simulink两大部分。两大部分。以矩阵的形式处理数据;将高性能的计算、结果以矩阵的形式处理数据;将高性能的计算、结果可视化、编程融于一体;可视化、编程融于一体;适于科学计算、控制系统、信息处理等领域分析适于科学计算、控制系统、
2、信息处理等领域分析-仿真仿真-设计设计(航空航天航空航天-金融财务金融财务-机械机械-电信电信-教育教育)。3科学计算科学计算的概念的概念定义定义:应用计算机处理科学研究和工程技术中所:应用计算机处理科学研究和工程技术中所遇到的数学计算。遇到的数学计算。在现代科学和工程技术中,经在现代科学和工程技术中,经常会遇到大量复杂的数学计算问题,这些问题用常会遇到大量复杂的数学计算问题,这些问题用一般的计算工具来解决非常困难,而用计算机来一般的计算工具来解决非常困难,而用计算机来处理却非常容易。处理却非常容易。过程过程:建立数学模型:建立数学模型-寻找求解方法寻找求解方法-用计算机实现。用计算机实现。
3、建型:依据有关学科理论对所研究的对象确立一建型:依据有关学科理论对所研究的对象确立一系列数量关系系列数量关系(数学公式或方程式数学公式或方程式)。 算法:在数学模型的基础上寻找求解方法。算法:在数学模型的基础上寻找求解方法。 仿真:编制、调试、运行程序并得到结果等步骤仿真:编制、调试、运行程序并得到结果等步骤.4 国际上最常用的四种数学类软件国际上最常用的四种数学类软件(4M): Matlab Mathematica Maple MathCAD 在国际上在国际上30多个数学类科技应用软件中:多个数学类科技应用软件中: Matlab:在数值计算方面独占鳌头:在数值计算方面独占鳌头 Mathema
4、tica和和Maple:分居符号计算的前两名:分居符号计算的前两名 Mathcad:具有计算、图形、文字处理的统一环境:具有计算、图形、文字处理的统一环境常用的科学计算软件常用的科学计算软件5课程任务课程任务 通过本课程的学习,能熟练掌握常用的数学软通过本课程的学习,能熟练掌握常用的数学软件件, 培养培养运用数学软件分析和解决运用数学软件分析和解决数学数学-物理物理-电子电子信息类信息类问题的能力问题的能力。通过对实际问题的数学处理。通过对实际问题的数学处理与计算机求解,完成建模和求解的任务,真正体与计算机求解,完成建模和求解的任务,真正体验到数学软件的实际应用。验到数学软件的实际应用。 6课
5、程安排课程安排 学时:学时:20(讲授讲授)+20(实验实验) 考核方式:上课回答问题考核方式:上课回答问题(考勤考勤) +上机实验上机实验+设计设计 教材:赵静教材:赵静. 基于基于Matlab的通信系统仿真的通信系统仿真 参考书:参考书: 刘学勇刘学勇. 详解详解MATLAB/Simulink通信系统建模与通信系统建模与仿真仿真电子工业出版社,电子工业出版社,2011.11 张化光张化光.Matlab/Simulink实用教程实用教程人民邮电出人民邮电出版社,版社,2009.3 软件:建议使用软件:建议使用Matlab R2010a(安装方法:百度文库安装方法:百度文库)7第第1章章MAT
6、LAB语言基础语言基础 1.1 Matlab概述概述 1.2 Matlab基本语法及操作基本语法及操作 1.3 Matlab的在通信系统中的应用的在通信系统中的应用1.4 演示程序演示程序81.1 Matlab概述:概述: (1)Matlab家族家族MATLABToolboxesCompilerSimulink BlocksetsRTWStateflowCoder第四代语言第四代语言各领域工具箱各领域工具箱程序编译器程序编译器动态仿真工具动态仿真工具各领域各领域应用模块应用模块C代码代码产生工具产生工具C代码代码产生工具产生工具事件驱动事件驱动仿真工具仿真工具91.1 Matlab概述概述:(
7、2) 发展发展史史Matlab语言是由美国的语言是由美国的Clever Moler博士于博士于1980年开发的;设计者的初衷是为解决年开发的;设计者的初衷是为解决线性代数线性代数课课程中的矩阵运算问题;即程中的矩阵运算问题;即Matrix Laboratory 矩阵矩阵实验室的意思。实验室的意思。20世纪世纪80年代初,时任美国新墨西哥大学计算机年代初,时任美国新墨西哥大学计算机科学系主任科学系主任Cleve Moler教授出于减轻学生编程负教授出于减轻学生编程负担,为学生设计了一组调用担,为学生设计了一组调用Linpack和和Eispack库库程序的程序的通俗易用通俗易用的接口,此即用的接口
8、,此即用Fortran编写的编写的萌芽状态的萌芽状态的Matlab。101.1 Matlab概述概述 :(2) 发展发展史史经几年的校际流传,在经几年的校际流传,在Little的推动下,于的推动下,于1984年年成立了成立了MathWorks公司,并把公司,并把Matlab正式推向市正式推向市场。场。Matlab的内核采用的内核采用C语言编写,而且除原有语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。的数值计算能力外,还新增了数据图视功能。MATLAB以商品形式出现后,仅短短几年,就以以商品形式出现后,仅短短几年,就以其其良好的开放性和运行的可靠性良好的开放性和运行的可靠性,使原先
9、控制领,使原先控制领域里的封闭式软件包域里的封闭式软件包(如英国的如英国的Umist,瑞典的,瑞典的Lund和和Simnon,德国的,德国的Keddc)纷纷淘汰,而改纷纷淘汰,而改以以Matlab为平台加以重建。为平台加以重建。20世纪九十年代,世纪九十年代,Matlab已经成为国际已经成为国际控制界公认的标准计算软件控制界公认的标准计算软件。11版本版本建造编号建造编号发布时间发布时间版本版本建造编号建造编号发布时间发布时间MATLAB 1.01984MATALB 21986MATLAB 7R142004MATLAB 31987MATLAB 7.0.1R14SP12004MATLAB 3.5
10、1990MATLAB 7.0.4 2R14SP22005MATLAB 41992MATLAB 7.1 R14SP32005MATLAB 4.2cR7 1994MATLAB 7.2R2006a2006MATLAB 5.0R81996MATLAB 7.3 R2006b2006MATLAB 5.1R91997MATLAB 7.4R2007a2007MATLAB 5.1.1R9.1 1997MATLAB 7.5R2007b2007MATLAB 5.2R10 1998MATLAB 7.6R2008a2008MATLAB 5.2.1R10.11998MATLAB 7.7R2008b2008MATLAB 5
11、.3R111999MATLAB 7.8R2009a2009.3.6MATLAB 5.3.1R11.11999MATLAB 7.9R2009b2009.9.4MATLAB 6.0R122000MATLAB 7.10R2010a2010.3.5MATLAB 6.1R12.12001MATLAB 7.11R2010b2010.9.3MATLAB 6.5R132002MATLAB 7.12R2011a2011.4.8MATLAB 6.5.1R13SP12003MATLAB 7.13R2011b2011.9.1MATLAB 6.5.2R13SP22003MATLAB 7.14R2012a2012.3.1
12、1219841984年,年,MATLABMATLAB第第1 1版版(DOS(DOS版版) ) 19921992年,年,MATLAB 4.0MATLAB 4.0版版19941994年,年,MATLAB 4.2MATLAB 4.2版版19971997年,年,MATLAB 5.0MATLAB 5.0版版19991999年,年,MATLAB 5.3MATLAB 5.3版版20002000年,年,MATLAB 6.0MATLAB 6.0版版20012001年,年,MATLAB 6.1MATLAB 6.1版版20022002年,年,MATLAB 6.5MATLAB 6.5版版20042004年,年,MAT
13、LAB 7.0MATLAB 7.0版版告别告别DOS版版 MathWorks公司公司于于1993年年从加拿从加拿大滑铁卢大学购大滑铁卢大学购得得Maple的使用权,的使用权,推出了符号计算推出了符号计算工具包。工具包。5.0的的Matlab拥有拥有更丰富的数据类更丰富的数据类型和结构、更友型和结构、更友善的面向对象、善的面向对象、更加快速精良的更加快速精良的图形可视、更广图形可视、更广博的数学和数据博的数学和数据分析资源、更多分析资源、更多的应用开发工具。的应用开发工具。 13Matlab的更新的更新V1 矩阵语言矩阵语言/图形图形V2 数据分析与处理数据分析与处理V3 应用工具应用工具V4
14、科学数据可视化科学数据可视化(亮点亮点), GUI开发工具开发工具 稀疏矩阵稀疏矩阵V5 多维数组:结构与嵌套数组多维数组:结构与嵌套数组 面向目标编程面向目标编程 集成编辑集成编辑/调试工具调试工具 实时仿真实时仿真14Matlab的影响的影响 就影响而言,至今仍然没有一个别的数学计算软就影响而言,至今仍然没有一个别的数学计算软件可与件可与Matlab匹敌。匹敌。 在欧美大学里,诸如应用代数、数理统计、自动在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把列分析、动态系统仿真等课
15、程的教科书都把Matlab作为内容。在那里,作为内容。在那里, Matlab是攻读学位的是攻读学位的本科生、硕士生、博士生必须掌握的基本工具。本科生、硕士生、博士生必须掌握的基本工具。 在国际学术界,在国际学术界, Matlab已经被确认为已经被确认为准确、可靠准确、可靠的科学计算标准软件的科学计算标准软件。在许多国际一流学术刊物。在许多国际一流学术刊物上,上,(尤其是信息科学刊物尤其是信息科学刊物),都可以看到,都可以看到Matlab 的应用。的应用。151.1 Matlab概述概述 :(3)语言特点语言特点(宏观宏观) 语言简洁紧凑、语法限制不严、程序设计自由度语言简洁紧凑、语法限制不严、
16、程序设计自由度大、可移植性好大、可移植性好; 运算符、库函数丰富、图形功能强大运算符、库函数丰富、图形功能强大; 界面友好、编程效率高、可扩展性强界面友好、编程效率高、可扩展性强; 它将它将易用性与可靠性易用性与可靠性、通用性与专业性通用性与专业性 、一般应一般应用与高深科学技术应用用与高深科学技术应用相结合相结合; 直译式高级语言,比其它程序设计语言更容易直译式高级语言,比其它程序设计语言更容易; 与其它语言的关系,仿佛与其它语言的关系,仿佛C语言与汇编语言的关语言与汇编语言的关系一样系一样(第四代第四代-智能化的语言智能化的语言).161.1 Matlab概述概述 :(3) 语言的特点语言
17、的特点 (微观微观) 1. 起点高起点高 每个变量代表一个矩阵,每个变量代表一个矩阵, 它有它有nm个元素;个元素; 每个元素都看做复数;每个元素都看做复数; 所有的运算都对矩阵和复数有效;所有的运算都对矩阵和复数有效; (如加、减、乘、除、函数运算等如加、减、乘、除、函数运算等) 2. 人机界面更人性化人机界面更人性化 语言规则与笔算式相似;语言规则与笔算式相似; 矩阵行列数无需定义;矩阵行列数无需定义; 键入算式立即得出结果。键入算式立即得出结果。 (即无需编译,它以解释方式工作,对每条语句解即无需编译,它以解释方式工作,对每条语句解释后立即执行,若有错误也立即作出反应释后立即执行,若有错
18、误也立即作出反应)171.1 Matlab概述概述 :(3) 语言的特点语言的特点 (微观微观) 3. 强大而简易的作图功能强大而简易的作图功能 能根椐输入数据自动确定绘图坐标能根椐输入数据自动确定绘图坐标; 能规定多种坐标系能规定多种坐标系(极坐标、对数坐标等极坐标、对数坐标等); 能绘制三维坐标中的曲线和曲面能绘制三维坐标中的曲线和曲面; 可设置不同的颜色、线型、视角等。可设置不同的颜色、线型、视角等。 (如果数据齐全,通常只需一条命令即可出图如果数据齐全,通常只需一条命令即可出图)4. 智能化程度高智能化程度高 绘图时自动选择最佳坐标以及自动定义矩阵阶数。绘图时自动选择最佳坐标以及自动定
19、义矩阵阶数。 作数值积分时自动按精度选择步长。作数值积分时自动按精度选择步长。 自动检测和显示程序错误的能力强,易于调试。自动检测和显示程序错误的能力强,易于调试。181.1 Matlab概述概述 :(3) 语言的特点语言的特点 (微观微观) 5. 功能丰富,可扩展性强功能丰富,可扩展性强 (Matlab软件包括软件包括基本部分基本部分和和专业扩展专业扩展两大部两大部) 基本部分:矩阵的运算和各种变换、代数和超越基本部分:矩阵的运算和各种变换、代数和超越方程的求解、数据处理和傅里叶变换、数值积分方程的求解、数据处理和傅里叶变换、数值积分等,可以充分满足大学理工科本科的计算需要;等,可以充分满足
20、大学理工科本科的计算需要; 扩展部分称为工具箱。实质是用扩展部分称为工具箱。实质是用Matlab的基本语的基本语句编成的各种子程序集,专门用于解决某一方面句编成的各种子程序集,专门用于解决某一方面的问题,或实现某一类的新算法。现在已经有控的问题,或实现某一类的新算法。现在已经有控制系统、信号处理、图像处理、系统辨识、模糊制系统、信号处理、图像处理、系统辨识、模糊集合、神经元网络、小波分析等集合、神经元网络、小波分析等20余个余个工具箱工具箱,并且它们还在继续发展中。并且它们还在继续发展中。191.1 Matlab概述概述 :(4)界面环境界面环境 1. 命令窗口:命令窗口:2. 图形窗:图形窗
21、:3. 文本编辑窗:文本编辑窗:201. 命令窗口命令窗口 (default)图图 1-1 Matlab 7.x的桌面系统的桌面系统211. 命令窗口命令窗口 (default)clc:清除命令窗口里的内容:清除命令窗口里的内容221. 命令窗口命令窗口 (default)Home:光标上滚到窗口左上角:光标上滚到窗口左上角231. 命令窗口命令窗口(default)桌面组成桌面组成 上:菜单上:菜单-工具栏等工具栏等 左:当前目录左:当前目录(Current Directory):文件名表列:文件名表列 中:中:命令窗命令窗(Command Window): 是提示符是提示符 右上:工作空间
22、右上:工作空间(Workspace):变量表列:变量表列 右下:历史命令右下:历史命令(Command History):命令表列:命令表列常用命令:常用命令: format : 编缉功能、视图功能;编缉功能、视图功能; 帮助:帮助:help 退出:退出:quit-exit241. 命令窗口命令窗口(default) format 命令:命令:251. 命令窗口命令窗口(default) format 命令:命令:format loose : 稀疏型格式稀疏型格式 format compact : 紧凑型紧凑型261. 命令窗口命令窗口(default) 编缉功能:编缉功能:命令窗命令窗的编辑
23、功能:的编辑功能: ESC:恢复命令输入的空白状态:恢复命令输入的空白状态 :调出下一行命令调出下一行命令 :调出上一行调出上一行(历史历史)命令命令 主菜单主菜单中的编辑功能:中的编辑功能: 可以把屏幕上选中的文字进行:可以把屏幕上选中的文字进行:Cut-Copy-Past 视图功能:可以改变屏幕上显示的视窗布局视图功能:可以改变屏幕上显示的视窗布局; desktop | desktop layout | default 271. 命令窗口命令窗口(default) 帮助:帮助:help 空空/函数名函数名/目录名目录名 (如:如:help magic) help magic magic M
24、agic square. magic(N) is an N-by-N matrix constructed from the integers 1 through N2 with equal row, column, and diagonal sums. Produces valid magic squares for all N 0 except N = 2. magic(4)ans = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 退出:退出:quit-exit 其它命令其它命令28命命 令令该命令的功能该命令的功能命命 令令该命令的功能该命令的功能clc清
25、除工作窗清除工作窗hold图形保持命令图形保持命令clear清除内存变量清除内存变量load加载指定文件的变量加载指定文件的变量clf all清除图形窗口清除图形窗口pack整理内存碎片整理内存碎片diary日志文件命令日志文件命令path显示搜索目录显示搜索目录dir显示当前目录下文件显示当前目录下文件quit-exit退出退出MATLAB7disp显示变量或文字内容显示变量或文字内容save保存内存变量到指定文件保存内存变量到指定文件echo工作窗信息显示开关工作窗信息显示开关type显示文件内容显示文件内容1. 命令窗口命令窗口(default) 292. 图形窗图形窗 figure 命
26、令:命令:figure:新建一个图形窗并自动编号;:新建一个图形窗并自动编号;figure(N):打开或新建编号为:打开或新建编号为N的图形窗;的图形窗; logo 命令:生成命令:生成Matlab标志图形标志图形 举例:矩阵举例:矩阵a为行向量:为行向量: -10,-99, 10, 10, 9-10 问:矩阵问:矩阵a与与a之积的数据分布如何?之积的数据分布如何?a=-10:10,10:-1:-10; a=a*a; surf(a)30313. 文本编辑窗文本编辑窗:Matlab 程序编制有两种方式程序编制有两种方式: 行命令式:可以编辑简单的程序行命令式:可以编辑简单的程序; 脚本方式:复杂
27、程序应写在文件里脚本方式:复杂程序应写在文件里-文本编辑窗文本编辑窗 文本编辑:文本编辑:File | New | Script 运行脚本可用:运行脚本可用:热键热键F5、快捷键、鼠标、快捷键、鼠标 或在命令窗口输入或在命令窗口输入“文件名文件名” (运行前文件应先存盘运行前文件应先存盘) 321.2 Matlab基本语法及操作基本语法及操作 一、变量赋初值一、变量赋初值二、矩阵运算二、矩阵运算三、程序控制语句三、程序控制语句四、基本绘图方法四、基本绘图方法五、五、M文件及程序调试文件及程序调试33一、变量赋初值一、变量赋初值a=1,2,3a= 1 2 3存储形式:所有变量均以矩阵存储形式:所
28、有变量均以矩阵形式形式保存为保存为double型型(64位位),可处理复数;,可处理复数;变量命名法则:变量名只能由字母、数字、下划变量命名法则:变量名只能由字母、数字、下划线组成且由线组成且由字母打头字母打头(变量名长变量名长6363,文件名及函,文件名及函数名长数名长8 8);赋值语句格式:变量名赋值语句格式:变量名=表达式表达式(或数或数) 例:例: a=1+2i a = 1.0000 + 2.0000i34一、变量赋初值一、变量赋初值例:例:A=1,2,3;4,5,6;7,8,9 %或或A=1 2 3;4 5 6;7 8 9A = 1 2 3 4 5 6 7 8 9例:例:a=1:2:
29、11a = 1 3 5 7 9 11注释注释35一、变量赋初值一、变量赋初值例:例:A=zeros(2,3)A = 0 0 0 0 0 0当只有表达式时,系统自动使用临时变量当只有表达式时,系统自动使用临时变量 ans,例:例:pi*ians = 0+3.1416i用于检查现存于工作空间的变量:用于检查现存于工作空间的变量:who(whos)36一、变量赋初值一、变量赋初值例:例:whoYour variables are:A a ans 例:例:whos Name Size Bytes Class Attributes A 2x3 48 double a 1x3 24 double ans
30、1x1 8 double complex 删除变量:删除变量:clear37二、矩阵运算二、矩阵运算Matlab一切运算均以一切运算均以矩阵操作为基础,包矩阵操作为基础,包括:四则运算、特征括:四则运算、特征根,奇异解等;根,奇异解等;norm范数范数det行列式值行列式值inv逆逆size阶数阶数rank秩秩trace迹迹eig特征值特征值(向量向量)乘方乘方sqrtm开方开方expm指数指数logm对数对数Inf,NaN详细信息:详细信息:help elmatf5=linspace(0, 8, 5)38二、矩阵运算二、矩阵运算A=6,7,5;3,6,9;4,1,5;B=A2B = 77 8
31、9 118 72 66 114 47 39 54C=sqrtm(B)C = 6.0000 7.0000 5.0000 3.0000 6.0000 9.0000 4.0000 1.0000 5.0000;不输出结果不输出结果(图形除外图形除外)39二、矩阵运算二、矩阵运算矩阵中的元素赋值:矩阵中的元素赋值: 变量的元素变量的元素用圆括号中的数字用圆括号中的数字(下标下标)来注明;来注明; 一维矩阵一维矩阵(数组或向量数组或向量)中的元素用一个下标表示中的元素用一个下标表示; 二维的矩阵可有两个下标数并以逗号分开;二维的矩阵可有两个下标数并以逗号分开; 可以可以单独给元素赋值单独给元素赋值,如果赋
32、值元素的下标超,如果赋值元素的下标超出了原来矩阵的大小,矩阵的行列会自动扩展。出了原来矩阵的大小,矩阵的行列会自动扩展。40二、矩阵运算二、矩阵运算例:例:clear a ? Undefined function or variable a. a(2,3)=6 a = 0 0 0 0 0 6 a(:,4)=4a = 0 0 0 4 0 0 6 441关系运算:关系运算: =100)d=error!;elseif(s=90)d=4;elseif(s=80)d=3;elseif(s=70)d=2;elseif(s=60)d=1;elseif(s=0)d=0;else d=error!;end;d三
33、、程序控制语句三、程序控制语句-选择结构选择结构(if语句语句)44 while 语句格式:语句格式: while (表达式表达式) 语句组语句组s end for语句格式:语句格式: for k=初值初值:增量增量:终值终值 语句组语句组A end 例:求例:求realmax的值的值. clear x=1; while x=Inf xt=x; x=x*1.0001; end xt 结果:结果:1.7977e+308三、程序控制语句三、程序控制语句-循环结构循环结构(while-for语句语句)45 例:求例:求1100的和的和a=0;for n=1:1:100; a=a+n;end;a 注:
34、注: 在在if-for-while与表达式之与表达式之间应留空格间应留空格; 若语句写在同一行,在表若语句写在同一行,在表达式与语句组之间必须用达式与语句组之间必须用空格或逗号分隔空格或逗号分隔; 语句组后语句组后面,必须用逗号或分号与面,必须用逗号或分号与end-else分隔分隔; break:中止循环:中止循环; 多重循环中,多重循环中,break 只能只能跳出最内部的那个循环跳出最内部的那个循环.三、程序控制语句三、程序控制语句-循环结构循环结构(while-for语句语句)46 格式:格式: switch e case e1 s1 case e2 s2 otherwise sn end
35、 例:判断输入数例:判断输入数n的奇偶性。的奇偶性。 n=input(n=); switch mod(n,2); case 1, A=奇奇; case 0, A=偶偶; otherwise A=Data error; end; A三、程序控制语句三、程序控制语句-多路分支结构多路分支结构(switch语句语句)47四、基本绘图方法四、基本绘图方法1、二维曲线、二维曲线 2、三维曲线和曲面、三维曲线和曲面 3、特殊图形和动画、特殊图形和动画481、二维曲线二维曲线 1). 直角坐标中的二维曲线直角坐标中的二维曲线 2). 线型点型和颜色线型点型和颜色3).多条曲线的绘制多条曲线的绘制 4). 屏
36、幕控制屏幕控制5). 其他坐标二维绘图其他坐标二维绘图49 plot(y):y为数组为数组例例1: 随机数序列曲线随机数序列曲线.y=rand(1, 10);plot(y);title(rand随机数序列随机数序列);xlabel(元素序号元素序号n);ylabel(随机值随机值y);grid;text(5, y(5), 5th Point);(以序号为横轴以序号为横轴, y纵轴纵轴)%产生产生01的的110随机数随机数%给制二维曲线给制二维曲线%加图注加图注%标注标注x轴轴%标注标注y轴轴%绘制网格绘制网格%给第给第5个点标注个点标注1). 直角坐标中的二维曲线直角坐标中的二维曲线 50 p
37、lot(x, y):x, y为数组为数组例例2: 绘制衰减正弦曲线绘制衰减正弦曲线:t=0: 0.1: 4*pi;y=exp(-0.1*t).*sin(2*t); plot(t, y);grid;(以以x为自变量为自变量, y为函数绘图为函数绘图)%自变量赋值自变量赋值%函数赋值函数赋值%绘制二维曲线绘制二维曲线1). 直角坐标中的二维曲线直角坐标中的二维曲线 t2sineyt1 . 0 512). 线型点型和颜色线型点型和颜色 plot(x, y, :r): 第三个参数描述线型或颜色第三个参数描述线型或颜色. :r 表示虚红线表示虚红线.t=0: 0.1: 4*pi;y=exp(-0.1*t
38、).*sin(2*t); plot(t, y, :r);grid;其它线型和颜色见下表其它线型和颜色见下表:52 Magenta cyan2). 线型点型和颜色线型点型和颜色533).多条曲线的绘制多条曲线的绘制 plot (t1, y1, t2, y2 ): 其中其中, t1.为自变量为自变量, y1为函数为函数; 例例4: 绘制绘制y1=sin2t, y2=cost, 的图线的图线.t=0: 0.3: 4*pi;y1=sin(2*t);y2=cos(t);y3=2*exp(-0.2*t).*sin(2*t); plot(t, y1, :k+, t, y2, -b*, t, y3, -ro)
39、;grid;若想将第二个若想将第二个plot曲线叠在同一张图上可用曲线叠在同一张图上可用hold on命令命令.t2sine23yt2 . 0 543).多条曲线的绘制多条曲线的绘制 plotyy (tl, yl, tr, yr): 绘制纵坐标不同尺度的曲线绘制纵坐标不同尺度的曲线;例例5:绘制曲线绘制曲线:tl=0: 0.3: 4*pi;yl=10*exp(-0.2*tl).*sin(2*tl); tr=0.5: 0.3: 4.5*pi;yr=exp(-0.2*tr).*cos(tr);plotyy(tl, yl, tr, yr);grid;. tcose2y, t2sine10ylt2 .
40、 0t2 . 0 554). 屏幕控制屏幕控制 figure:打开图形窗口:打开图形窗口; clf:清除当前图形窗的内容:清除当前图形窗的内容; hold on:保持当前图形窗的内容:保持当前图形窗的内容; hold off:解除冻结:解除冻结; close:关闭当前图形窗:关闭当前图形窗; close all: 关闭所有图形窗关闭所有图形窗; subplot(n, m, p):将图窗形分为将图窗形分为nm个子图个子图,在第在第p子子图处绘图图处绘图.565). 其它坐标二维绘图其它坐标二维绘图 polar(t, r):极坐标绘图:极坐标绘图 loglog:纵:纵-横坐标均为横坐标均为log1
41、0的对数图的对数图; semilogx:x轴为轴为log10刻度刻度, y轴为线性刻度轴为线性刻度; semilogy:y轴为轴为log10刻度刻度,x轴为线性刻度轴为线性刻度; plot(z):复数绘图:复数绘图(自查自查); axis:坐标比例尺设定或控制绘图范围:坐标比例尺设定或控制绘图范围;57subplot(2,2,1);t=0:0.02:2*pi;r=ones(1, length(t)*3;axis(equal);polar(t, r); grid;subplot(2,2,2);x=0:0.02:1;y=power(10,x);semilogy(x, y);grid;subplot
42、(2,2,3);z=cplxgrid(20);cplxmap(z,z.3);subplot(2,2,4);plot(x,y);grid;%子图子图1处绘图处绘图%极角极角%半径为半径为3的圆的圆%设定设定x-y轴等比例轴等比例%绘制图形及网格绘制图形及网格%子图子图2处绘图处绘图%x坐标坐标%指数函数指数函数%y对数坐标绘图对数坐标绘图%子图子图3处绘复数曲面处绘复数曲面%复数的三次曲面复数的三次曲面%子图子图4处绘指数函数处绘指数函数5). 其它坐标二维绘图其它坐标二维绘图(示例程序示例程序-分析结果分析结果)径向径向n段,角向段,角向2n段段585). 其它坐标二维绘图其它坐标二维绘图(函
43、数库函数库)help graph2d595). 其它坐标二维绘图其它坐标二维绘图(通用函数命令通用函数命令)help graphics602、三维曲线和曲面三维曲线和曲面 1). 空间曲线绘制空间曲线绘制plot32). 空间曲面的绘制空间曲面的绘制3). 其他三维图形绘制命令其他三维图形绘制命令611). 空间曲线绘制空间曲线绘制plot3 格式:格式:plot3(x,y,z,s), 其中其中, s为线型和颜色为线型和颜色. 例例7:绘制空间螺旋线:绘制空间螺旋线.t=0:0.1:8*pi; x=cos(t); y=sin(t); z=t;plot3(x,y,z);title(空间螺旋线空间
44、螺旋线);grid;622). 空间曲面的绘制空间曲面的绘制 mesh: 绘制空间曲面绘制空间曲面 例例8:绘制:绘制z=sinr/r的空间曲面的空间曲面(方法方法1).xt=-12:0.5:12; yt=xt;%生成一维的自变量数组生成一维的自变量数组x=ones(size(yt)*xt;%产生产生x方向网格方向网格y=yt*ones(size(xt); %产生产生y方向网格方向网格r=sqrt (x.*x + y.*y);%矢径矢径z=sin(r)./r; %生成因变量生成因变量mesh(z); %画三维曲面画三维曲面title(z=sinr/r空间曲面空间曲面);-12 -8 -4 0
45、4 8 12-12 -8 -4 0 4 8 12-12 -8 -4 0 4 8 12-12 -8 -4 0 4 8 12-12 -8 -4 0 4 8 12-12 -8 -4 0 4 8 12-12 -8 -4 0 4 8 12 -12 -12 -12 -12 -12 -12 -12 -8 -8 -8 -8 -8 -8 -8 -4 -4 -4 -4 -4 -4 -4 0 0 0 0 0 0 0 4 4 4 4 4 4 4 8 8 8 8 8 8 8 12 12 12 12 12 12 12sinc(r)632). 空间曲面的绘制空间曲面的绘制 mesh: 绘制空间曲面绘制空间曲面 例例9:绘制
46、:绘制z=sinr/r的空间曲面的空间曲面(方法方法2).x,y=meshgrid(-12:0.5:12,-12:0.5:12); %生成网面生成网面r=sqrt (x.*x + y.*y);%矢径矢径z=sin(r)./r; %生成因变量生成因变量mesh(z); %画三维曲面画三维曲面title(z=sinr/r空间曲面空间曲面);642). 空间曲面的绘制空间曲面的绘制 mesh: 绘制空间曲面绘制空间曲面 例例A:绘制:绘制z=sinr/r的空间曲面的空间曲面(奇异点处理奇异点处理).x,y=meshgrid(-12:0.5:12,-12:0.5:12); %生成网面生成网面r=sqr
47、t (x.*x + y.*y)+eps;%矢径矢径z=sin(r)./r; %生成因变量生成因变量mesh(z); %画三维曲面画三维曲面title(z=sinr/r空间曲面空间曲面);surf( ): 与与mesh( )同理同理.2.221010-16-16652). 空间曲面的绘制空间曲面的绘制 view:变换立体图的视角变换立体图的视角,默认值为默认值为(37,30); shading flat或或shading interp:使曲面成为光滑表面使曲面成为光滑表面; contour:把曲面的等高线投影在把曲面的等高线投影在x-y平面平面. 例例B:绘制:绘制y=sinc(r)光滑曲面光滑
48、曲面.x,y=meshgrid(-12:.5:12,-12:.5:12); %网格网格r=sqrt (x.*x + y.*y)+eps;%矢径矢径z=sin(r)./r; %生成因变量生成因变量surf(z); %画三维曲面画三维曲面shading flat;%去掉网格线去掉网格线title(z=sinr/r光滑曲面光滑曲面);663). 其他三维图形绘制命令其他三维图形绘制命令help graph3d673、特殊图形和动画特殊图形和动画help specgraph683、特殊图形和动画特殊图形和动画 例:质点沿螺旋线移动例:质点沿螺旋线移动. t=0:0.02:10*pi; x=sin(t)
49、; y=cos(t); plot3(x,y,t); axis square; comet3(x,y,t,0.5);693、特殊图形和动画特殊图形和动画 moviein:预留存储空间以加快运行速度:预留存储空间以加快运行速度; getframe:把图形存储下来:把图形存储下来; (每个图形成一个很大的列向量每个图形成一个很大的列向量; 再用再用N行这样的列保存行这样的列保存N幅图幅图) movie:连起来重放连起来重放.axis equal;%设设x-y等比例等比例M=moviein(16);%为为M预留预留16幅图存储空间幅图存储空间for j=1:16%作作16次循环次循环 plot(fft
50、(eye(j+16); %画图画图 M(:,j)=getframe;%依次存入依次存入M中中endmovie(M,30);703、特殊图形特殊图形和动画和动画(示例程序示例程序-保存动画保存动画)fp=figure;%创建窗口创建窗口aviobj = avifile(peak.avi,compression,None);%创建文件创建文件figure(Renderer,zbuffer)Z=peaks;%图形数据图形数据surf(Z); %绘图绘图axis tightset(gca,NextPlot,replaceChildren);F(100)=struct(cdata,colormap,);
51、for j=1:100 surf(0.01+sin(2*pi*j/20)*Z,Z)%形成各帧形成各帧 F(j)=getframe;%保存数据保存数据endmovie(F,100); %播放动画播放动画aviobj = addframe(aviobj,F);%存于文件存于文件aviobj=close(aviobj);close(fp);%关闭关闭713、色彩、色彩-光照光照-底层绘图命令底层绘图命令 若图形不满足需要,则必须设置色彩若图形不满足需要,则必须设置色彩-光照等光照等. 如:如:mesh(x,y,z,c): c为颜色为颜色 如:如:set(gca,NextPlot,replaceChildren);72五、五、M文件及程序调试文件及程序调试解决复杂的问题应该用程序文件模式解决复杂的问题应该用程序文件模式; 由由Matlab语句构成的程序文件称为文件语句构成的程序文件称为文件; 它以它以m作为文件的扩展名作为文件的扩展名, 是是ASCII文本文件文本文件.M文件可分为两种文件可分为两种: 主程序主程序: 也称为主程序文件也称为主程序文件(S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年商丘三年级数学上学期第4单元河北版试卷及答案
- 2026年少先队入队培训考试题库(含答案)
- 老年照护排泄照护理论考核试题题库及答案
- 2026年山西省孝义市高三历史上册期末考试模拟卷【各地真题】附答案
- 2025年浙江省龙泉市高三历史上册期末考试考试卷及参考答案【能力提升】
- 2025年云南省蒙自市高二历史下册期末考试自测卷附参考答案(综合卷)
- 2026年浙江省桐乡市高三历史下册期末考试检测卷附参考答案(培优)
- 2026年河南省卫辉市高一历史下册期末考试测试卷附参考答案(考试直接用)
- 2025年湖北省老河口市高二历史下册期末考试自测卷附答案【B卷】
- 2026年甘肃省合作市高三历史上册期末考试检测卷含答案【能力提升】
- 2026届江苏省苏州市九校三模联考英语试题(含答案和音频)
- 2026年新疆理工学院招聘编制外聘用人员备考题库(29人)附答案详解(黄金题型)
- 2026贵州省公路工程集团有限公司第一批公开招聘53人笔试备考题库及答案解析
- 2025江苏苏州国有资本投资集团有限公司苏州产业投资私募基金管理有限公司招聘(第二批)笔试历年常考点试题专练附带答案详解
- 地下室消防疏散演练脚本
- GB/T 4996-2025平托盘试验方法
- 全国教师资格证考试小学数学真题汇编题库及参考答案
- 喉罩的临床应用与管理专家共识2026
- 2025全媒体运营试题库及答案
- 2025年福建省高考生物试卷真题(含答案解析)
- 第 29 课 智能工具再体验说课稿小学信息技术人教版2024五年级全一册-人教版2024
评论
0/150
提交评论