光学软件基础及应用-Matlab-2nd.ppt
《光学软件基础及应用-Matlab-2nd.ppt》由会员分享,可在线阅读,更多相关《光学软件基础及应用-Matlab-2nd.ppt(85页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、光学软件基础及应用光学软件基础及应用MATLAB2010-2011上1安徽工业大学 光信息科学与技术 莫绪涛MATLAB必须掌握的计算机语言之一必须掌握的计算机语言之一o科学研究的强大辅助工具科学研究的强大辅助工具o数学运算:线性代数数学运算:线性代数/微积分微积分/概率统计概率统计o工程或生活中实际问题的解决工具工程或生活中实际问题的解决工具2010-2011上2安徽工业大学 光信息科学与技术 莫绪涛第一章第一章 认识认识MATLAB2010-2011上3安徽工业大学 光信息科学与技术 莫绪涛1.1 MATLAB简介简介o美国美国MathWorks公司推出的科学及工程计算公司推出的科学及工程
2、计算软件软件数学家数学家-软件专家软件专家-各领域专家各领域专家共同共同编写实现编写实现oMATRIX和和LABORATORY的缩写的缩写-矩阵实验室矩阵实验室2010-2011上4安徽工业大学 光信息科学与技术 莫绪涛1.2 MATLAB的产生和发展的产生和发展o1980年产生年产生美国新墨西哥州大学计算机系美国新墨西哥州大学计算机系主任主任Cleve Moler为解决为解决“线性代数线性代数”课程的矩课程的矩阵运算问题而开发的接口程序阵运算问题而开发的接口程序o1983年春天年春天工程师工程师John Little与与Moler、Steve Bangert一起开发了第二代专业版一起开发了第
3、二代专业版MATLAB(用(用C语言编写实现)语言编写实现)o1984年年MathWorks公司成立公司成立2010-2011上5安徽工业大学 光信息科学与技术 莫绪涛o强大的强大的科学计算科学计算、数据处理能力、数据处理能力n基本的计算、科研和工程计算的最新研究成果基本的计算、科研和工程计算的最新研究成果o出色的出色的图形图形处理与显示能力处理与显示能力o功能强大的模块集和功能强大的模块集和专业工具箱专业工具箱n符号运算、优化、图像处理、偏微分方程工具箱符号运算、优化、图像处理、偏微分方程工具箱o可编程可编程解决复杂问题解决复杂问题M文件文件o丰富的丰富的程序接口程序接口C语言、语言、ZEM
4、AXo丰富的丰富的联机帮助系统联机帮助系统1.3 MATLAB的功能的功能2010-2011上6安徽工业大学 光信息科学与技术 莫绪涛1.4 MATLAB的软件界面的软件界面命令窗口命令窗口历史记录窗口历史记录窗口工作变量空间工作变量空间2010-2011上7安徽工业大学 光信息科学与技术 莫绪涛1.5 MATLAB的软件显示调整的软件显示调整改成自己喜欢的字体改成自己喜欢的字体2010-2011上8安徽工业大学 光信息科学与技术 莫绪涛第二章第二章 MATLAB的基本运算的基本运算2010-2011上9安徽工业大学 光信息科学与技术 莫绪涛2.1 MATLAB的基本使用的基本使用o直接在命令
5、窗口输入要计算的内容直接在命令窗口输入要计算的内容oMATLAB语句形式为语句形式为:变量变量=表达式表达式n无需事先定义变量无需事先定义变量o回车后语句执行,窗口显示语句执行结果回车后语句执行,窗口显示语句执行结果2010-2011上10安徽工业大学 光信息科学与技术 莫绪涛2.1 MATLAB的基本使用的基本使用光标闪烁等待输入命令光标闪烁等待输入命令2010-2011上11安徽工业大学 光信息科学与技术 莫绪涛常用的命令及其功能常用的命令及其功能oclc 擦去命令窗口内容擦去命令窗口内容oclear 消除工作空间所有变量消除工作空间所有变量oclear 变量名变量名 消除指定的变量消除指
6、定的变量ohelp 命令名命令名 查询所列命令的帮助信息查询所列命令的帮助信息o 调用上一行命令调用上一行命令oCtrl+C 中断程序运行中断程序运行2010-2011上12安徽工业大学 光信息科学与技术 莫绪涛2.2 MATLAB的变量的变量o变量命名规则变量命名规则n变量变量区分字母大小写区分字母大小写n名字不能超过名字不能超过3131个字符,超过部分被忽略个字符,超过部分被忽略n变量必须以英文字母开头,之后可以使用字母、变量必须以英文字母开头,之后可以使用字母、数字、下划线,但数字、下划线,但不能使用空格和标点符号不能使用空格和标点符号2010-2011上13安徽工业大学 光信息科学与技
7、术 莫绪涛2.2 MATLAB的特殊变量的特殊变量常量常量特殊变量特殊变量 取值取值 ans 用于结果的缺省变量名用于结果的缺省变量名 pi 圆周率圆周率 eps 计算机的最小数计算机的最小数 inf 无穷大无穷大 如如 1/0 nan 不定值不定值0/0 i 或者或者 j i=j=1-nargin 函数的输入变量数目函数的输入变量数目 nargout 函数的输出变量数目函数的输出变量数目 realmin 最小的可用正实数最小的可用正实数 realmax 最大的可用正实数最大的可用正实数 编写函数时使用编写函数时使用复数计算时使用复数计算时使用2010-2011上14安徽工业大学 光信息科学与
8、技术 莫绪涛2.2 MATLAB的变量显示格式的变量显示格式oMATLAB中所有的量为双精度浮点数中所有的量为双精度浮点数o改变显示格式命令:改变显示格式命令:format 格式格式n常用的格式有常用的格式有obank(2个十进制位个十进制位)hex(十六进制十六进制)oshort(缺省缺省)short e(5位加指数位加指数)olong (16位位)long e (16位加指数位加指数)orat(有理数近似有理数近似)o改变显示格式并不改变变量本身改变显示格式并不改变变量本身2010-2011上15安徽工业大学 光信息科学与技术 莫绪涛2.3 MATLAB的基本矩阵运算的基本矩阵运算o矩阵的
9、直接输入创建:和数组的格式相似矩阵的直接输入创建:和数组的格式相似n以以“”开始,以开始,以“”结束结束n每一行元素结束每一行元素结束用行结束符号(分号或回车)分隔用行结束符号(分号或回车)分隔n同一行元素之间同一行元素之间用元素分隔符号(空格或用元素分隔符号(空格或,)分隔)分隔举例举例:创建:创建23的矩阵,第一行为的矩阵,第一行为1/2/3,第二行为,第二行为4/5/6 a=1 2 3;4 5 6a=1 2 3 4 5 6空格空格+分号分号 a=1,2,34,5,6a=1 2 3 4 5 6逗号逗号+回车回车2010-2011上16安徽工业大学 光信息科学与技术 莫绪涛2.3 MATLA
10、B的基本矩阵运算的基本矩阵运算o对矩阵元素的访问对矩阵元素的访问n单个元素的访问:单个元素的访问:a(2,1)=0n整行元素的访问:整行元素的访问:a(2,:)=0 9 8 7n整列元素的访问:整列元素的访问:a(:,3)=3;8;6n某块元素的访问:某块元素的访问:a(2:3,3:4)=8 7;6 5o注意点注意点n下标从下标从1开始开始n冒号冒号“:”的使用的使用2010-2011上17安徽工业大学 光信息科学与技术 莫绪涛2.3 MATLAB的基本矩阵运算的基本矩阵运算o矩阵矩阵按列编址按列编址o元素访问的另一种方式元素访问的另一种方式*获取矩阵大小函数获取矩阵大小函数size:size
11、(a)=3 4147102581136912编址规则:编址规则:a(10)=4a(8)=8对对mn矩阵而言矩阵而言:a(i,j)=a(i+(j-1)*m)2010-2011上18安徽工业大学 光信息科学与技术 莫绪涛2.3 MATLAB的基本矩阵运算的基本矩阵运算o特殊行向量创建方法特殊行向量创建方法n线性等间距线性等间距初值初值:步长步长:终值终值n函数函数linspaceolinspace(x1,x2)olinspace(x1,x2,N)n函数函数logspace2010-2011上19安徽工业大学 光信息科学与技术 莫绪涛2.3 MATLAB的基本矩阵运算的基本矩阵运算o矩阵创建的其他方
12、法矩阵创建的其他方法n现有矩阵增加或提取元素现有矩阵增加或提取元素n读取数据文件,如读取数据文件,如TXT、Excel、Mat文件文件n利用特殊矩阵生成函数利用特殊矩阵生成函数o全全0矩阵:矩阵:zeros()o全全1矩阵:矩阵:ones()o单位矩阵:单位矩阵:eye()2010-2011上20安徽工业大学 光信息科学与技术 莫绪涛2.3 MATLAB的基本矩阵运算的基本矩阵运算o矩阵的基本运算矩阵的基本运算n四则运算:四则运算:+-*/n点乘点乘(点除点除):.*./.n矩阵乘方矩阵乘方:n矩阵矩阵元素乘方元素乘方:.n矩阵的转置矩阵的转置:o注意点注意点n运算对象为矩阵运算对象为矩阵n元
13、素运算勿忘使用元素运算勿忘使用“点点”矩阵左除矩阵左除/右除运算右除运算矩阵点乘除运算矩阵点乘除运算2010-2011上21安徽工业大学 光信息科学与技术 莫绪涛2.4 MATLAB的矩阵运算函数的矩阵运算函数o矩阵元素的运算函数(矩阵元素的运算函数(Array Operation)nabs、sqrt、sin、cos函数可以在矩阵上直接使用,函数可以在矩阵上直接使用,只不过只不过对矩阵的每个元素对矩阵的每个元素进行处理进行处理 sqrt(a)ans=1.0000 1.4142 1.7321 2.0000 2.2361 2.4495 a=1 2 3;4 5 6a=1 2 3 4 5 62010-
14、2011上22安徽工业大学 光信息科学与技术 莫绪涛2.4 MATLAB的矩阵元素运算函数的矩阵元素运算函数函数名函数名数学表达数学表达Matlab函数命令函数命令幂函数幂函数x.asqrt(x)=x.(1/2)指数函数指数函数a.xexp(x)对数函数对数函数log(x)log2(x)log10(x)2010-2011上23安徽工业大学 光信息科学与技术 莫绪涛2.4 MATLAB的矩阵元素运算函数的矩阵元素运算函数函数名函数名解释解释Matlab函数命令函数命令 三三 角角 函函 数数sin(x)cos(x)tan(x)cot(x)sec(x)csc(x)2010-2011上24安徽工业大
15、学 光信息科学与技术 莫绪涛2.4 MATLAB的矩阵元素运算函数的矩阵元素运算函数函数名函数名解释解释Matlab函数命令函数命令反反三三角角函函数数asin(x)acos(x)atan(x)acot(x)asec(x)acsc(x)绝对值函数绝对值函数abs(x)2010-2011上25安徽工业大学 光信息科学与技术 莫绪涛2.5 MATLAB关系运算关系运算 =o关系运算符关系运算符n任何非零数值都为真任何非零数值都为真(1)n用于流程控制用于流程控制o举例举例:数学关系数学关系运算符运算符小于小于小于或等于小于或等于大于或等于大于或等于=等于等于=不等于不等于=2010-2011上26
16、安徽工业大学 光信息科学与技术 莫绪涛2.5 MATLAB逻辑运算逻辑运算o逻辑运算符逻辑运算符n用于流程控制用于流程控制o位方式的逻辑运算函数位方式的逻辑运算函数逻辑关系逻辑关系运算符运算符与与&或或|非非异或异或xor位方式位方式-与与bitand位方式位方式-或或bitor位方式位方式-异或异或bitxor位比较运算位比较运算bitcmp移位运算移位运算bitshift2010-2011上27安徽工业大学 光信息科学与技术 莫绪涛第三章第三章 MATLAB的基本绘图的基本绘图EDOF CPM 3D-MTF2010-2011上28安徽工业大学 光信息科学与技术 莫绪涛3.1 MATLAB的
17、绘图的绘图工作空间绘图工作空间绘图2010-2011上29安徽工业大学 光信息科学与技术 莫绪涛3.2 MATLAB的绘图的绘图二维绘图函数二维绘图函数o所有绘制二维图形的命令所有绘制二维图形的命令nhelp graph2d 充分利用充分利用网络网络和和MATLAB帮助文件帮助文件学习使用学习使用MATLAB函数函数2010-2011上30安徽工业大学 光信息科学与技术 莫绪涛3.2 MATLAB的绘图的绘图二维绘图函数二维绘图函数o基本绘图函数为基本绘图函数为nplot(x1,y1,LineSpec1,x2,y2,LineSpec2,)n函数说明:函数说明:ox1,y1分别为分别为x轴和轴和
18、y轴坐标值轴坐标值oLineSpec1为曲线特性选项参数,如曲线的颜色、为曲线特性选项参数,如曲线的颜色、线型、标识符号等,用单引号括起来线型、标识符号等,用单引号括起来o以逐点折线相连的方式绘制二维图形以逐点折线相连的方式绘制二维图形o在在MATLAB Help系统中熟悉系统中熟悉Plot命令命令2010-2011上31安徽工业大学 光信息科学与技术 莫绪涛3.2 MATLAB的绘图的绘图二维绘图函数二维绘图函数o绘图举例绘图举例o曲线特性参数的设置方法曲线特性参数的设置方法参照帮助系统参照帮助系统x=0:0.1*pi:2*pi;y=sin(x);z=cos(x);plot(x,y,-bo,
19、x,z,:ms)2010-2011上32安徽工业大学 光信息科学与技术 莫绪涛3.2 MATLAB的绘图的绘图二维绘图函数二维绘图函数oLineSpec选项选项2010-2011上33安徽工业大学 光信息科学与技术 莫绪涛3.2 MATLAB的绘图的绘图二维绘图函数二维绘图函数o图形标注函数图形标注函数nxlabel和和ylabel:x轴和轴和y轴名称标注轴名称标注ntitle:图形名称标注:图形名称标注ntext:图形中文字标注图形中文字标注ngtext:图形中文字标注(用鼠标确定放置位置):图形中文字标注(用鼠标确定放置位置)nlegend:图形中各曲线标注:图形中各曲线标注2010-20
20、11上34安徽工业大学 光信息科学与技术 莫绪涛3.2 MATLAB的绘图的绘图二维绘图函数二维绘图函数o图形标注举例图形标注举例n注意转义字符的输入注意转义字符的输入xlabel(-pi leq Theta leq pi)ylabel(sin(Theta)title(Plot of sin(Theta)text(-pi/4,sin(-pi/4),leftarrow sin(-pidiv4),HorizontalAlignment,left)xlabelylabeltitletext2010-2011上35安徽工业大学 光信息科学与技术 莫绪涛3.2 MATLAB的绘图的绘图二维绘图函数二维绘
21、图函数o其他重要相关命令(对照其他重要相关命令(对照help自学)自学)naxes:设置坐标轴:设置坐标轴nhold:hold on 保持当前绘图窗口继续做图保持当前绘图窗口继续做图ngrid:grid on/off打开打开/关闭图形网格关闭图形网格nfigure:打开:打开/创建图形窗口,如创建图形窗口,如figure(4)nsubplot(m,n,p):将绘图窗口分成将绘图窗口分成mn个子区域,在第个子区域,在第p个区域绘制图形;个区域绘制图形;nclose:关闭当前图形窗口:关闭当前图形窗口o其他二维绘图函数:其他二维绘图函数:fplot、ezplot、2010-2011上36安徽工业大
22、学 光信息科学与技术 莫绪涛3.2 MATLAB的绘图的绘图步骤总结步骤总结准备数据准备数据设置当前绘图区设置当前绘图区绘制图形绘制图形设置曲线特征和标记特征设置曲线特征和标记特征设置坐标轴和网格线属性设置坐标轴和网格线属性标注图形标注图形保存和导出图形保存和导出图形2010-2011上37安徽工业大学 光信息科学与技术 莫绪涛3.3 MATLAB的绘图的绘图三维绘图函数三维绘图函数o所有绘制三维图形的命令所有绘制三维图形的命令nhelp graph3do三维图形的特征控制三维图形的特征控制nColor controlnLightingnColor mapsnTransparencynAxis
23、 controlnViewpoint controlnCamera control2010-2011上38安徽工业大学 光信息科学与技术 莫绪涛3.3 MATLAB的绘图的绘图三维曲线绘制三维曲线绘制o三维曲线绘制函数为三维曲线绘制函数为nplot3(x1,y1,z1,LineSpec1,x2,y2,z2,LineSpec2,)n函数说明:函数说明:ox1,y1,z1分别为分别为x轴、轴、y轴和轴和z轴坐标值轴坐标值oLineSpec1为曲线特性选项参数,同为曲线特性选项参数,同plot中参数中参数o以逐点折线相连的方式绘制三维图形以逐点折线相连的方式绘制三维图形2010-2011上39安徽工
24、业大学 光信息科学与技术 莫绪涛3.3 MATLAB的绘图的绘图三维曲线绘制三维曲线绘制o绘图举例绘图举例x=0:0.1*pi:10*pi;y=sin(x);z=cos(x);plot3(x,y,z,-b)grid onxlabel(x);ylabel(sinx);zlabel(cosx);title(Example 3D curve)2010-2011上40安徽工业大学 光信息科学与技术 莫绪涛3.3 MATLAB的绘图的绘图三维网格曲面绘制三维网格曲面绘制o三维网格曲面绘制函数为三维网格曲面绘制函数为nmesh(X,Y,Z,C)n函数说明:函数说明:oX,Y,Z都是矩阵都是矩阵o参数参数C
25、表示网格曲面颜色分布表示网格曲面颜色分布o创建网格曲面创建网格曲面2010-2011上41安徽工业大学 光信息科学与技术 莫绪涛3.3 MATLAB的绘图的绘图三维网格曲面绘制三维网格曲面绘制o绘图举例绘图举例x=-2:0.1:2;y=-3:0.1:3;X,Y=meshgrid(x,y);Z=X.2+Y.2;mesh(X,Y,Z)xlabel(x);ylabel(y);zlabel(z)2010-2011上42安徽工业大学 光信息科学与技术 莫绪涛3.3 MATLAB的绘图的绘图meshgrid函数应用函数应用 X,Y=meshgrid(1:3,4:7)Y=4 4 4 5 5 5 6 6 6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 光学 软件 基础 应用 Matlab nd
限制150内