版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
光学软件基础及应用——MATLAB2010-2011第二学期安徽工业大学光信息科学与技术2MATLAB—必须掌握的计算机语言之一科学研究的强大辅助工具数学运算:线性代数/微积分/概率统计专业课学习工具:应光、物光……工程或生活中实际问题的解决工具数学软件+专业工具库+综合开发平台第一章 认识MATLAB2010-2011第二学期安徽工业大学光信息科学与技术41.1MATLAB简介美国MathWorks公司推出的科学及工程计算软件——数学家-软件专家-各领域专家共同编写实现MATRIX和LABORATORY的缩写-矩阵实验室2010-2011第二学期安徽工业大学光信息科学与技术51.2MATLAB的产生和发展1980年产生——美国新墨西哥州大学计算机系主任CleveMoler为解决“线性代数”课程的矩阵运算问题而开发的接口程序1983年春天——工程师JohnLittle与Moler、SteveBangert一起开发了第二代专业版MATLAB(用C语言编写实现)1984年——MathWorks公司成立2010-2011第二学期安徽工业大学光信息科学与技术6强大的科学计算、数据处理能力基本的计算、科研和工程计算的最新研究成果出色的图形处理与显示能力功能强大的模块集和专业工具箱符号运算、优化、图像处理、偏微分方程工具箱可编程解决复杂问题——M文件丰富的程序接口——C语言、ZEMAX丰富的联机帮助系统1.3MATLAB的功能2010-2011第二学期安徽工业大学光信息科学与技术7MATLAB的其他应用2010-2011第二学期安徽工业大学光信息科学与技术81.4MATLAB的软件界面命令窗口历史记录窗口工作变量空间2010-2011第二学期安徽工业大学光信息科学与技术91.5MATLAB的软件显示调整改成自己喜欢的字体第二章 MATLAB的基本运算矩阵为运算单元2010-2011第二学期安徽工业大学光信息科学与技术112.1MATLAB的基本使用直接在命令窗口输入要计算的内容MATLAB语句形式为:变量=表达式无需事先定义变量回车后语句执行,窗口显示语句执行结果2010-2011第二学期安徽工业大学光信息科学与技术122.1MATLAB的基本使用光标闪烁等待输入命令2010-2011第二学期安徽工业大学光信息科学与技术13常用的命令及其功能clc——擦去命令窗口内容clear——消除工作空间所有变量clear变量名——消除指定的变量help命令名——查询所列命令的帮助信息↑——调用上一行命令Ctrl+C——中断程序运行2010-2011第二学期安徽工业大学光信息科学与技术142.2MATLAB的变量变量命名规则变量区分字母大小写名字不能超过31个字符,超过部分被忽略变量必须以英文字母开头,之后可以使用字母、数字、下划线,但不能使用空格和标点符号2010-2011第二学期安徽工业大学光信息科学与技术152.2MATLAB的特殊变量——常量特殊变量
取值
ans
用于结果的缺省变量名
pi
圆周率
eps
计算机的最小数
inf
无穷大
如1/0
nan
不定值0/0
i或者j
i=j=1-
nargin
函数的输入变量数目
nargout
函数的输出变量数目
realmin
最小的可用正实数
realmax
最大的可用正实数
编写函数时使用复数计算时使用2010-2011第二学期安徽工业大学光信息科学与技术162.2MATLAB的变量显示格式MATLAB中所有的量为双精度浮点数改变显示格式命令:format格式常用的格式有bank(2个十进制位)hex(十六进制)short(缺省)shorte(5位加指数)long(16位)longe(16位加指数)rat(有理数近似)改变显示格式并不改变变量本身2010-2011第二学期安徽工业大学光信息科学与技术172.3MATLAB的基本矩阵运算矩阵的直接输入创建:和数组的格式相似以“[”开始,以“]”结束每一行元素结束用行结束符号(分号或回车)分隔同一行元素之间用元素分隔符号(空格或,)分隔举例:创建2×3的矩阵,第一行为1/2/3,第二行为4/5/6>>a=[123;456]a=123456空格+分号>>a=[1,2,34,5,6]a=123456逗号+回车2010-2011第二学期安徽工业大学光信息科学与技术182.3MATLAB的基本矩阵运算对矩阵元素的访问单个元素的访问:a(2,1)=0整行元素的访问:a(2,:)=[0987]整列元素的访问:a(:,3)=[3;8;6]某块元素的访问:a(2:3,3:4)=[87;65]注意点下标从1开始冒号“:”的使用2010-2011第二学期安徽工业大学光信息科学与技术192.3MATLAB的基本矩阵运算矩阵按列编址元素访问的另一种方式*获取矩阵大小函数size:size(a)=[34]147102581136912编址规则:a(10)==4a(8)==8对m×n矩阵而言:a(i,j)==a(i+(j-1)*m)2010-2011第二学期安徽工业大学光信息科学与技术202.3MATLAB的基本矩阵运算特殊行向量创建方法线性等间距——初值:步长:终值函数linspacelinspace(x1,x2)linspace(x1,x2,N)函数logspace2010-2011第二学期安徽工业大学光信息科学与技术212.3MATLAB的基本矩阵运算矩阵创建的其他方法现有矩阵增加或提取元素读取数据文件,如TXT、Excel、Mat文件利用特殊矩阵生成函数全0矩阵:zeros()全1矩阵:ones()单位矩阵:eye()2010-2011第二学期安徽工业大学光信息科学与技术222.3MATLAB的基本矩阵运算矩阵的基本运算四则运算:+-*/
\
点乘(点除):.*./.\矩阵乘方:^矩阵元素乘方:.^矩阵的转置:'注意点运算对象为矩阵元素运算勿忘使用“点”矩阵左除/右除运算矩阵点乘除运算2010-2011第二学期安徽工业大学光信息科学与技术232.4MATLAB的矩阵运算函数矩阵元素的运算函数(ArrayOperation)abs、sqrt、sin、cos函数可以在矩阵上直接使用,只不过对矩阵的每个元素进行处理>>sqrt(a)ans=1.00001.41421.73212.00002.23612.4495>>a=[123;456]a=1234562010-2011第二学期安徽工业大学光信息科学与技术242.4MATLAB的矩阵元素运算函数函数名数学表达Matlab函数命令幂函数x.^asqrt(x)=x.^(1/2)指数函数a.^xexp(x)对数函数log(x)log2(x)log10(x)2010-2011第二学期安徽工业大学光信息科学与技术252.4MATLAB的矩阵元素运算函数函数名解释Matlab函数命令
三角函数sin(x)cos(x)tan(x)cot(x)sec(x)csc(x)2010-2011第二学期安徽工业大学光信息科学与技术262.4MATLAB的矩阵元素运算函数函数名解释Matlab函数命令反三角函数asin(x)acos(x)atan(x)acot(x)asec(x)acsc(x)绝对值函数abs(x)2010-2011第二学期安徽工业大学光信息科学与技术272.5MATLAB—关系运算><==关系运算符任何非零数值都为真(1)用于流程控制举例:数学关系运算符小于<小于或等于<=大于>大于或等于>=等于==不等于~=2010-2011第二学期安徽工业大学光信息科学与技术282.5MATLAB—逻辑运算逻辑运算符用于流程控制位方式的逻辑运算函数逻辑关系运算符与&或|非~异或xor位方式-与bitand位方式-或bitor位方式-异或bitxor位比较运算bitcmp移位运算bitshift第三章 MATLAB的基本绘图一图胜万语EDOFCPM3D-MTF2010-2011第二学期安徽工业大学光信息科学与技术303.1MATLAB的绘图——工作空间绘图2010-2011第二学期安徽工业大学光信息科学与技术313.2MATLAB的绘图——二维绘图函数绘制二维图形的命令
helpgraph2d
充分利用网络和
MATLAB帮助文件学习使用MATLAB函数2010-2011第二学期安徽工业大学光信息科学与技术323.2MATLAB的绘图——二维绘图函数基本绘图函数为plot(x1,y1,LineSpec1,x2,y2,LineSpec2,…)函数说明:x1,y1分别为x轴和y轴坐标值LineSpec1为曲线特性选项参数,如曲线的颜色、线型、标识符号等,用单引号括起来以逐点折线相连的方式绘制二维图形在MATLABHelp系统中熟悉Plot命令2010-2011第二学期安徽工业大学光信息科学与技术333.2MATLAB的绘图——二维绘图函数绘图举例曲线特性参数的设置方法——参照帮助系统x=0:0.1*pi:2*pi;y=sin(x);z=cos(x);plot(x,y,'-bo',x,z,':ms')2010-2011第二学期安徽工业大学光信息科学与技术343.2MATLAB的绘图——二维绘图函数LineSpec选项2010-2011第二学期安徽工业大学光信息科学与技术353.2MATLAB的绘图——二维绘图函数图形标注函数xlabel和ylabel:x轴和y轴名称标注title:图形名称标注text:图形中文字标注gtext:图形中文字标注(用鼠标确定放置位置)legend:图形中各曲线标注2010-2011第二学期安徽工业大学光信息科学与技术363.2MATLAB的绘图——二维绘图函数图形标注举例注意转义字符的输入xlabel('-\pi\leq\Theta\leq\pi')ylabel('sin(\Theta)')title('Plotofsin(\Theta)')text(-pi/4,sin(-pi/4),'\leftarrowsin(-\pi\div4)','HorizontalAlignment','left')xlabelylabeltitletext2010-2011第二学期安徽工业大学光信息科学与技术373.2MATLAB的绘图——二维绘图函数其他重要相关命令(对照help自学)axes:设置坐标轴hold:holdon保持当前绘图窗口继续做图grid:gridon/off 打开/关闭图形网格figure:打开/创建图形窗口,如figure(4)subplot(m,n,p):将绘图窗口分成m×n个子区域,在第p个区域绘制图形;close:关闭当前图形窗口其他二维绘图函数:fplot、ezplot、……2010-2011第二学期安徽工业大学光信息科学与技术383.2MATLAB的绘图——步骤总结准备数据设置当前绘图区绘制图形设置曲线特征和标记特征设置坐标轴和网格线属性标注图形保存和导出图形2010-2011第二学期安徽工业大学光信息科学与技术393.3MATLAB的绘图——三维绘图函数绘制三维图形的命令
helpgraph3d三维图形的特征控制ColorcontrolLightingColormapsTransparencyAxiscontrolViewpointcontrolCameracontrol……2010-2011第二学期安徽工业大学光信息科学与技术403.3MATLAB的绘图——三维曲线绘制三维曲线绘制函数为plot3(x1,y1,
z1,LineSpec1,x2,y2,z2,LineSpec2,…)函数说明:x1,y1,z1分别为x轴、y轴和z轴坐标值LineSpec1为曲线特性选项参数,同plot中参数以逐点折线相连的方式绘制三维图形2010-2011第二学期安徽工业大学光信息科学与技术413.3MATLAB的绘图——三维曲线绘制绘图举例x=0:0.1*pi:10*pi;y=sin(x);z=cos(x);plot3(x,y,z,'-b')gridonxlabel('x');ylabel('sinx');zlabel('cosx');title('Example3Dcurve')2010-2011第二学期安徽工业大学光信息科学与技术423.3MATLAB的绘图——三维网格曲面绘制三维网格曲面绘制函数为mesh(X,Y,Z,C)函数说明:X,Y,Z都是矩阵参数C表示网格曲面颜色分布创建网格曲面2010-2011第二学期安徽工业大学光信息科学与技术433.3MATLAB的绘图——三维网格曲面绘制绘图举例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第二学期安徽工业大学光信息科学与技术443.3MATLAB的绘图——meshgrid函数应用>>[X,Y]=meshgrid(1:3,4:7)Y=444555666777X=123123123123(x,y)=(1,4)(2,4)(3,4)(1,5)(2,5)(3,5)(1,6)(2,6)(3,6)(1,7)(2,7)(3,7)f2010-2011第二学期安徽工业大学光信息科学与技术453.3MATLAB的绘图——三维阴影曲面绘制三维阴影曲面绘制函数为surf(X,Y,Z,C)函数说明:X,Y,Z都是矩阵参数C表示网格曲面颜色分布创建阴影曲面2010-2011第二学期安徽工业大学光信息科学与技术463.3MATLAB的绘图——三维阴影曲面绘制绘图举例x=-2:0.1:2;y=-3:0.1:3;[X,Y]=meshgrid(x,y);Z=X.^2+Y.^2;surf(X,Y,Z)xlabel('x');ylabel('y');zlabel('z')2010-2011第二学期安徽工业大学光信息科学与技术473.3MATLAB绘图——网格和阴影曲面对比网格曲面阴影曲面网格曲面的网格是彩色,并且根据z值改变;阴影曲面的网格是黑色,网格区域内用颜色填充;2010-2011第二学期安徽工业大学光信息科学与技术483.4MATLAB绘图——其他图形绘制直方图hist柱状图bar面积图area饼图pie火柴杆图stem等高线图contour向量图quiver…………第四章 MATLAB的符号运算2010-2011第二学期安徽工业大学光信息科学与技术504.1MATLAB的符号运算介绍符号数学工具箱:SymbolicMathToolbox符号数学工具箱对字符串进行符号分析,不是基于数组的数值分析符号数学工具箱可以实现的功能多项式的合并、简化求解代数方程微分、积分、极限微分方程……2010-2011第二学期安徽工业大学光信息科学与技术514.2MATLAB的符号运算—符号表达式符号表达式代表数字、函数、算子和变量的MATLAB字符串,或字符串数组符号数学与代数和微积分所学到的求解方法一样2010-2011第二学期安徽工业大学光信息科学与技术524.3MATLAB的符号运算—符号对象建立sym函数:用来建立单个符号量调用格式:符号量名=sym(‘符号字符串’)符号字符串可以是常量、变量、函数或表达式举例:U=sym('3*x^2+5*y+2*x*y+6')syms函数:定义多个符号变量调用格式:syms符号变量1符号变量2……变量间用空格隔开,不能用逗号举例:symsxy;U=3*x^2+5*y+2*x*y+6;2010-2011第二学期安徽工业大学光信息科学与技术534.4MATLAB的符号运算—四则运算分解因式:factor(S)展开:expand(S)合并同类项:collect(S)化简:simplify(S)……2010-2011第二学期安徽工业大学光信息科学与技术544.5MATLAB的符号运算—微分运算diff:微分运算函数格式:diff(f,x,n)求解f关于x的n阶导数举例:f(x)=xsinx的一/二/三阶导数计算2010-2011第二学期安徽工业大学光信息科学与技术554.5MATLAB的符号运算—积分运算int:积分运算函数格式:int(f,x)求解f关于x的不定积分int(f,x,x0,x1)求解f关于x在[x0x1]上的定积分举例:2010-2011第二学期安徽工业大学光信息科学与技术564.6MATLAB的符号运算—其他运算Help->符号数学工具箱->FunctionReference第五章 MATLAB的编程通过编程解决实际问题语言是工具思路最重要2010-2011第二学期安徽工业大学光信息科学与技术585.1MATLAB的编程介绍M文件编程:除了在命令窗口输入命令执行外,还可以向C语言一样采用编程方式;文件名后缀为.m2010-2011第二学期安徽工业大学光信息科学与技术595.1MATLAB的编程介绍M文件创建及M文件编辑器认识调试/断点功能2010-2011第二学期安徽工业大学光信息科学与技术605.1MATLAB的编程介绍M文件分类脚本(命令)文件:只是一些命令行的组合,其中的所有变量也成为工作变量空间的一部分。函数文件:单独功能的代码块,需要接受参数输入和输出,函数M文件具有独立的内部变量空间。MATLAB提供的大部分函数都用函数文件实现。2010-2011第二学期安徽工业大学光信息科学与技术615.2MATLAB的编程——脚本文件编程脚本文件注释语句消除命令定义变量功能实现结果显示2010-2011第二学期安徽工业大学光信息科学与技术625.2MATLAB的编程——脚本文件编程脚本文件的运行将脚本文件保存为*.m文件(上例为primeNumber.m)方式一:直接在M文件编辑器中点击“RUN”按钮方式二:在MATLAB命令窗口输入文件名并回车2010-2011第二学期安徽工业大学光信息科学与技术635.2MATLAB的编程——脚本文件编程脚本文件编程提示:用clear、closeall等语句开始,清除原有的变量和图形注释行以%号开始,增加程序的可读性如果不想显示结果,语句结尾用分号2010-2011第二学期安徽工业大学光信息科学与技术645.3MATLAB的编程——函数文件编程函数文件函数声明帮助文字函数实现注释部分2010-2011第二学期安徽工业大学光信息科学与技术655.3MATLAB的编程——函数文件编程函数文件的使用方法在脚本文件中进行调用直接在命令窗口进行调用2010-2011第二学期安徽工业大学光信息科学与技术665.3MATLAB的编程——函数文件编程函数文件编程提示:函数文件由function起头,后面跟函数名;函数名必须与文件名相同输出变量多于一个时,要用方括号,举例:function[x,y,z]=fun(a,b,c)2010-2011第二学期安徽工业大学光信息科学与技术675.4MATLAB的编程——流程控制语句分支控制语句if结构switch结构循环控制语句for循环while循环continue语句break语句程序终止语句:return语句2010-2011第二学期安徽工业大学光信息科学与技术685.4.1MATLAB的编程—分支控制-if结构if-else结构:iflogical_expression1commands1elseiflogical_expression2commands2elseif……elsecommandsend和C语言原理一致注意语法格式的差异elseif和else语句为可选语句2010-2011第二学期安徽工业大学光信息科学与技术695.4.1MATLAB的编程—分支控制-switch结构switch结构:switch表达式(标量或字符串)
case值1
语句组Acase值2
语句组B…….otherwise
语句组Nendotherwise语句为可选语句和C语言的重要语法区别:每一个case语句后面不需要break语句跳出;2010-2011第二学期安徽工业大学光信息科学与技术705.4.2MATLAB的编程—循环控制-for循环for循环:一般用于已知循环次数的情况forindex=start:increment:endcommandendindex为循环变量,increment为增量,默认值为1index可以赋值为数组A,第n次循环时,index被赋值为A(:,n),即A的第n列元素MATLAB中循环效率很低,尽量充分使用数组结构2010-2011第二学期安徽工业大学光信息科学与技术715.4.2MATLAB的编程—循环控制-while循环while循环:一般用于已知循环结束条件情况whileexpressioncommondsend表达式expression为真,就执行语句,直至结果为假2010-2011第二学期安徽工业大学光信息科学与技术725.4.3MATLAB的编程—其他控制语句continue语句用在循环中,表示本次循环不再继续向下执行,进入下一次循环;break语句退出循环return语句终止程序运行,用于需要立即退出的特殊情况等2010-2011第二学期安徽工业大学光信息科学与技术735.5MATLAB的编程—交互命令echoon/off:在执行M文件每行程序前先显示其内容keyboard:程序执行到此暂停,在屏幕上显示字符K>>,用户可以在命令窗进行任何操作,最后键入字符串return,恢复运行原来的程序。input(‘提示符’):程序执行到此暂停,屏幕显示引号中的字符串,要求用户输入数据。数据输入后,程序继续运行。举例:N=input('N=');
^c(control-c):强行停止程序运行的命令2010-2011第二学期安徽工业大学光信息科学与技术745.6MATLAB的编程举例——光线追迹例:用MATLAB编程作图分析不同颜色的平行光轴的光线通过平凸透镜聚焦的光路情况。Oθ1θ2dF中心厚度为3mm凸面曲率半径为100mm
波长折射率
480.0---1.523-蓝色
550.0---1.519-绿色
632.8---1.515-红色2010-2011第二学期安徽工业大学光信息科学与技术755.6MATLAB的编程举例——光线追迹光学分析
以球心为坐标原点Oθ1θ2dFhABC1.光线经过透镜的第一个面后方向不变2.光线经过透镜第二个面时发生折射:假设平行入射光距离光轴的距离为h
入射角为:折射定律:光线在透镜中经过的距离为:2010-2011第二学期安徽工业大学光信息科学与技术765.6MATLAB的编程举例——光线追迹编程思路绘制平凸透镜绘制平面:确定X和Y数组用plot命令实现绘制凸面:直接用fplot命令绘制绘制多条平行光线通过透镜前后的直线透镜曲面前的光线:plo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大模型证券策略回测
- CAD-5-3退刀槽、越程槽的标注
- 2026年乌海一级造价工程师考试模拟题及答案:(建设工程计价)
- 历届高考试题汇编及答案
- 计算机软考试题及答案
- 湖南省娄底市名校2026-2027学年数学八年级第一学期期末监测模拟试题含解析
- 2026年中职航海捕捞(捕捞技术)试题及答案
- 山东省威海市荣成第十四中学2027届数学七年级第一学期期末统考试题含解析
- 河北省承德市隆化县2027届四上数学期末经典试题含解析
- 2026年高职形象设计(电夹板造型)试题及答案
- 新生儿复苏操作技能考核评分标准(2025 版)中文版 逐项打分 + 合格判定细则
- 2025年广西卫生职业技术学院教职人员招聘笔试真题(含完整答案解析)
- 2026年医师定期考核试题题库中医入门试题及答案
- 山洪灾害预警识别知识
- 2025-2026学年人教版生物必修二全册综合检测练习卷(含解析)
- 2026小红书有感运动IP方案
- 天然气管线保护施工方案
- 2025届中工国际工程股份有限公司校园招聘笔试历年参考题库附带答案详解
- 城市道路桥梁安全监测预警系统操作手册
- 2026计算机二级MS Office真题模拟押题含解析
- GB/Z 114.1-2026纳米制造技术规范纳米储能第1部分:空白详细规范电化学电容器用纳米多孔活性炭
评论
0/150
提交评论