




已阅读5页,还剩81页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
光学软件基础及应用 MATLAB 2010 2011第二学期 安徽工业大学光信息科学与技术 2 MATLAB 必须掌握的计算机语言之一 科学研究的强大辅助工具数学运算 线性代数 微积分 概率统计专业课学习工具 应光 物光 工程或生活中实际问题的解决工具 数学软件 专业工具库 综合开发平台 第一章认识MATLAB 2010 2011第二学期 安徽工业大学光信息科学与技术 4 1 1MATLAB简介 美国MathWorks公司推出的科学及工程计算软件 数学家 软件专家 各领域专家共同编写实现MATRIX和LABORATORY的缩写 矩阵实验室 2010 2011第二学期 安徽工业大学光信息科学与技术 5 1 2MATLAB的产生和发展 1980年产生 美国新墨西哥州大学计算机系主任CleveMoler为解决 线性代数 课程的矩阵运算问题而开发的接口程序1983年春天 工程师JohnLittle与Moler SteveBangert一起开发了第二代专业版MATLAB 用C语言编写实现 1984年 MathWorks公司成立 2010 2011第二学期 安徽工业大学光信息科学与技术 6 强大的科学计算 数据处理能力基本的计算 科研和工程计算的最新研究成果出色的图形处理与显示能力功能强大的模块集和专业工具箱符号运算 优化 图像处理 偏微分方程工具箱可编程解决复杂问题 M文件丰富的程序接口 C语言 ZEMAX丰富的联机帮助系统 1 3MATLAB的功能 2010 2011第二学期 安徽工业大学光信息科学与技术 7 MATLAB的其他应用 2010 2011第二学期 安徽工业大学光信息科学与技术 8 1 4MATLAB的软件界面 命令窗口 历史记录窗口 工作变量空间 2010 2011第二学期 安徽工业大学光信息科学与技术 9 1 5MATLAB的软件显示调整 第二章MATLAB的基本运算 矩阵为运算单元 2010 2011第二学期 安徽工业大学光信息科学与技术 11 2 1MATLAB的基本使用 直接在命令窗口输入要计算的内容MATLAB语句形式为 变量 表达式无需事先定义变量回车后语句执行 窗口显示语句执行结果 2010 2011第二学期 安徽工业大学光信息科学与技术 12 2 1MATLAB的基本使用 光标闪烁等待输入命令 2010 2011第二学期 安徽工业大学光信息科学与技术 13 常用的命令及其功能 clc 擦去命令窗口内容clear 消除工作空间所有变量clear变量名 消除指定的变量help命令名 查询所列命令的帮助信息 调用上一行命令Ctrl C 中断程序运行 2010 2011第二学期 安徽工业大学光信息科学与技术 14 2 2MATLAB的变量 变量命名规则变量区分字母大小写名字不能超过31个字符 超过部分被忽略变量必须以英文字母开头 之后可以使用字母 数字 下划线 但不能使用空格和标点符号 2010 2011第二学期 安徽工业大学光信息科学与技术 15 2 2MATLAB的特殊变量 常量 编写函数时使用 复数计算时使用 2010 2011第二学期 安徽工业大学光信息科学与技术 16 2 2MATLAB的变量显示格式 MATLAB中所有的量为双精度浮点数改变显示格式命令 format格式常用的格式有bank 2个十进制位 hex 十六进制 short 缺省 shorte 5位加指数 long 16位 longe 16位加指数 rat 有理数近似 改变显示格式并不改变变量本身 2010 2011第二学期 安徽工业大学光信息科学与技术 17 2 3MATLAB的基本矩阵运算 矩阵的直接输入创建 和数组的格式相似以 开始 以 结束每一行元素结束用行结束符号 分号或回车 分隔同一行元素之间用元素分隔符号 空格或 分隔举例 创建2 3的矩阵 第一行为1 2 3 第二行为4 5 6 2010 2011第二学期 安徽工业大学光信息科学与技术 18 2 3MATLAB的基本矩阵运算 对矩阵元素的访问单个元素的访问 a 2 1 0整行元素的访问 a 2 0987 整列元素的访问 a 3 3 8 6 某块元素的访问 a 2 3 3 4 87 65 注意点下标从1开始冒号 的使用 2010 2011第二学期 安徽工业大学光信息科学与技术 19 2 3MATLAB的基本矩阵运算 矩阵按列编址元素访问的另一种方式 获取矩阵大小函数size size a 34 编址规则 对m n矩阵而言 a i j a i j 1 m 2010 2011第二学期 安徽工业大学光信息科学与技术 20 2 3MATLAB的基本矩阵运算 特殊行向量创建方法线性等间距 初值 步长 终值函数linspacelinspace x1 x2 linspace x1 x2 N 函数logspace 2010 2011第二学期 安徽工业大学光信息科学与技术 21 2 3MATLAB的基本矩阵运算 矩阵创建的其他方法现有矩阵增加或提取元素读取数据文件 如TXT Excel Mat文件利用特殊矩阵生成函数全0矩阵 zeros 全1矩阵 ones 单位矩阵 eye 2010 2011第二学期 安徽工业大学光信息科学与技术 22 2 3MATLAB的基本矩阵运算 矩阵的基本运算四则运算 点乘 点除 矩阵乘方 矩阵元素乘方 矩阵的转置 注意点运算对象为矩阵元素运算勿忘使用 点 2010 2011第二学期 安徽工业大学光信息科学与技术 23 2 4MATLAB的矩阵运算函数 矩阵元素的运算函数 ArrayOperation abs sqrt sin cos函数可以在矩阵上直接使用 只不过对矩阵的每个元素进行处理 sqrt a ans 1 00001 41421 73212 00002 23612 4495 a 123 456 a 123456 2010 2011第二学期 安徽工业大学光信息科学与技术 24 2 4MATLAB的矩阵元素运算函数 2010 2011第二学期 安徽工业大学光信息科学与技术 25 2 4MATLAB的矩阵元素运算函数 2010 2011第二学期 安徽工业大学光信息科学与技术 26 2 4MATLAB的矩阵元素运算函数 2010 2011第二学期 安徽工业大学光信息科学与技术 27 2 5MATLAB 关系运算 关系运算符任何非零数值都为真 1 用于流程控制举例 2010 2011第二学期 安徽工业大学光信息科学与技术 28 2 5MATLAB 逻辑运算 逻辑运算符用于流程控制位方式的逻辑运算函数 第三章MATLAB的基本绘图 一图胜万语 EDOFCPM3D MTF 2010 2011第二学期 安徽工业大学光信息科学与技术 30 3 1MATLAB的绘图 工作空间绘图 2010 2011第二学期 安徽工业大学光信息科学与技术 31 3 2MATLAB的绘图 二维绘图函数 绘制二维图形的命令helpgraph2d充分利用网络和MATLAB帮助文件学习使用MATLAB函数 2010 2011第二学期 安徽工业大学光信息科学与技术 32 3 2MATLAB的绘图 二维绘图函数 基本绘图函数为plot x1 y1 LineSpec1 x2 y2 LineSpec2 函数说明 x1 y1分别为x轴和y轴坐标值LineSpec1为曲线特性选项参数 如曲线的颜色 线型 标识符号等 用单引号括起来以逐点折线相连的方式绘制二维图形在MATLABHelp系统中熟悉Plot命令 2010 2011第二学期 安徽工业大学光信息科学与技术 33 3 2MATLAB的绘图 二维绘图函数 绘图举例曲线特性参数的设置方法 参照帮助系统 x 0 0 1 pi 2 pi y sin x z cos x plot x y bo x z ms 2010 2011第二学期 安徽工业大学光信息科学与技术 34 3 2MATLAB的绘图 二维绘图函数 LineSpec选项 2010 2011第二学期 安徽工业大学光信息科学与技术 35 3 2MATLAB的绘图 二维绘图函数 图形标注函数xlabel和ylabel x轴和y轴名称标注title 图形名称标注text 图形中文字标注gtext 图形中文字标注 用鼠标确定放置位置 legend 图形中各曲线标注 2010 2011第二学期 安徽工业大学光信息科学与技术 36 3 2MATLAB的绘图 二维绘图函数 图形标注举例注意转义字符的输入 xlabel pi leq Theta leq pi ylabel sin Theta title Plotofsin Theta text pi 4 sin pi 4 leftarrowsin pi div4 HorizontalAlignment left xlabel ylabel title text 2010 2011第二学期 安徽工业大学光信息科学与技术 37 3 2MATLAB的绘图 二维绘图函数 其他重要相关命令 对照help自学 axes 设置坐标轴hold holdon保持当前绘图窗口继续做图grid gridon off打开 关闭图形网格figure 打开 创建图形窗口 如figure 4 subplot m n p 将绘图窗口分成m n个子区域 在第p个区域绘制图形 close 关闭当前图形窗口其他二维绘图函数 fplot ezplot 2010 2011第二学期 安徽工业大学光信息科学与技术 38 3 2MATLAB的绘图 步骤总结 准备数据设置当前绘图区绘制图形设置曲线特征和标记特征设置坐标轴和网格线属性标注图形保存和导出图形 2010 2011第二学期 安徽工业大学光信息科学与技术 39 3 3MATLAB的绘图 三维绘图函数 绘制三维图形的命令helpgraph3d三维图形的特征控制ColorcontrolLightingColormapsTransparencyAxiscontrolViewpointcontrolCameracontrol 2010 2011第二学期 安徽工业大学光信息科学与技术 40 3 3MATLAB的绘图 三维曲线绘制 三维曲线绘制函数为plot3 x1 y1 z1 LineSpec1 x2 y2 z2 LineSpec2 函数说明 x1 y1 z1分别为x轴 y轴和z轴坐标值LineSpec1为曲线特性选项参数 同plot中参数以逐点折线相连的方式绘制三维图形 2010 2011第二学期 安徽工业大学光信息科学与技术 41 3 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第二学期 安徽工业大学光信息科学与技术 42 3 3MATLAB的绘图 三维网格曲面绘制 三维网格曲面绘制函数为mesh X Y Z C 函数说明 X Y Z都是矩阵参数C表示网格曲面颜色分布创建网格曲面 2010 2011第二学期 安徽工业大学光信息科学与技术 43 3 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第二学期 安徽工业大学光信息科学与技术 44 3 3MATLAB的绘图 meshgrid函数应用 X Y meshgrid 1 3 4 7 Y 444555666777 X 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 f 2010 2011第二学期 安徽工业大学光信息科学与技术 45 3 3MATLAB的绘图 三维阴影曲面绘制 三维阴影曲面绘制函数为surf X Y Z C 函数说明 X Y Z都是矩阵参数C表示网格曲面颜色分布创建阴影曲面 2010 2011第二学期 安徽工业大学光信息科学与技术 46 3 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第二学期 安徽工业大学光信息科学与技术 47 3 3MATLAB绘图 网格和阴影曲面对比 网格曲面 阴影曲面 网格曲面的网格是彩色 并且根据z值改变 阴影曲面的网格是黑色 网格区域内用颜色填充 2010 2011第二学期 安徽工业大学光信息科学与技术 48 3 4MATLAB绘图 其他图形绘制 直方图hist柱状图bar面积图area饼图pie火柴杆图stem等高线图contour向量图quiver 第四章MATLAB的符号运算 2010 2011第二学期 安徽工业大学光信息科学与技术 50 4 1MATLAB的符号运算介绍 符号数学工具箱 SymbolicMathToolbox符号数学工具箱对字符串进行符号分析 不是基于数组的数值分析符号数学工具箱可以实现的功能多项式的合并 简化求解代数方程微分 积分 极限微分方程 2010 2011第二学期 安徽工业大学光信息科学与技术 51 4 2MATLAB的符号运算 符号表达式 符号表达式代表数字 函数 算子和变量的MATLAB字符串 或字符串数组符号数学与代数和微积分所学到的求解方法一样 2010 2011第二学期 安徽工业大学光信息科学与技术 52 4 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第二学期 安徽工业大学光信息科学与技术 53 4 4MATLAB的符号运算 四则运算 分解因式 factor S 展开 expand S 合并同类项 collect S 化简 simplify S 2010 2011第二学期 安徽工业大学光信息科学与技术 54 4 5MATLAB的符号运算 微分运算 diff 微分运算函数格式 diff f x n 求解f关于x的n阶导数举例 f x xsinx的一 二 三阶导数计算 2010 2011第二学期 安徽工业大学光信息科学与技术 55 4 5MATLAB的符号运算 积分运算 int 积分运算函数格式 int f x 求解f关于x的不定积分int f x x0 x1 求解f关于x在 x0 x1 上的定积分举例 2010 2011第二学期 安徽工业大学光信息科学与技术 56 4 6MATLAB的符号运算 其他运算 Help 符号数学工具箱 FunctionReference 第五章MATLAB的编程 通过编程解决实际问题 语言是工具思路最重要 2010 2011第二学期 安徽工业大学光信息科学与技术 58 5 1MATLAB的编程介绍 M文件编程 除了在命令窗口输入命令执行外 还可以向C语言一样采用编程方式 文件名后缀为 m 2010 2011第二学期 安徽工业大学光信息科学与技术 59 5 1MATLAB的编程介绍 M文件创建及M文件编辑器认识 2010 2011第二学期 安徽工业大学光信息科学与技术 60 5 1MATLAB的编程介绍 M文件分类脚本 命令 文件 只是一些命令行的组合 其中的所有变量也成为工作变量空间的一部分 函数文件 单独功能的代码块 需要接受参数输入和输出 函数M文件具有独立的内部变量空间 MATLAB提供的大部分函数都用函数文件实现 2010 2011第二学期 安徽工业大学光信息科学与技术 61 5 2MATLAB的编程 脚本文件编程 脚本文件注释语句消除命令定义变量功能实现结果显示 2010 2011第二学期 安徽工业大学光信息科学与技术 62 5 2MATLAB的编程 脚本文件编程 脚本文件的运行将脚本文件保存为 m文件 上例为primeNumber m 方式一 直接在M文件编辑器中点击 RUN 按钮方式二 在MATLAB命令窗口输入文件名并回车 2010 2011第二学期 安徽工业大学光信息科学与技术 63 5 2MATLAB的编程 脚本文件编程 脚本文件编程提示 用clear closeall等语句开始 清除原有的变量和图形注释行以 号开始 增加程序的可读性如果不想显示结果 语句结尾用分号 2010 2011第二学期 安徽工业大学光信息科学与技术 64 5 3MATLAB的编程 函数文件编程 函数文件函数声明帮助文字函数实现注释部分 2010 2011第二学期 安徽工业大学光信息科学与技术 65 5 3MATLAB的编程 函数文件编程 函数文件的使用方法在脚本文件中进行调用直接在命令窗口进行调用 2010 2011第二学期 安徽工业大学光信息科学与技术 66 5 3MATLAB的编程 函数文件编程 函数文件编程提示 函数文件由function起头 后面跟函数名 函数名必须与文件名相同输出变量多于一个时 要用方括号 举例 function x y z fun a b c 2010 2011第二学期 安徽工业大学光信息科学与技术 67 5 4MATLAB的编程 流程控制语句 分支控制语句if结构switch结构循环控制语句for循环while循环continue语句break语句程序终止语句 return语句 2010 2011第二学期 安徽工业大学光信息科学与技术 68 5 4 1MATLAB的编程 分支控制 if结构 if else结构 iflogical expression1commands1elseiflogical expression2commands2elseif elsecommandsend 和C语言原理一致注意语法格式的差异elseif和else语句为可选语句 2010 2011第二学期 安徽工业大学光信息科学与技术 69 5 4 1MATLAB的编程 分支控制 switch结构 switch结构 switch表达式 标量或字符串 case值1语句组Acase值2语句组B otherwise语句组Nend otherwise语句为可选语句和C语言的重要语法区别 每一个case语句后面不需要break语句跳出 2010 2011第二学期 安徽工业大学光信息科学与技术 70 5 4 2MATLAB的编程 循环控制 for循环 for循环 一般用于已知循环次数的情况 forindex start increment endcommandend index为循环变量 increment为增量 默认值为1index可以赋值为数组A 第n次循环时 index被赋值为A n 即A的第n列元素MATLAB中循环效率很低 尽量充分使用数组结构 2010 2011第二学期 安徽工业大学光信息科学与技术 71 5 4 2MATLAB的编程 循环控制 while循环 while循环 一般用于已知循环结束条件情况 whileexpressioncommondsend 表达式expression为真 就执行语句 直至结果为假 2010 2011第二学期 安徽工业大学光信息科学与技术 72 5 4 3MATLAB的编程 其他控制语句 continue语句用在循环中 表示本次循环不再继续向下执行 进入下一次循环 break语句退出循环return语句终止程序运行 用于需要立即退出的特殊情况等 2010 2011第二学期 安徽工业大学光信息科学与技术 73 5 5MATLAB的编程 交互命令 echoon off 在执行M文件每行程序前先显示其内容keyboard 程序执行到此暂停 在屏幕上显示字符K 用户可以在命令窗进行任何操作 最后键入字符串return 恢复运行原来的程序 input 提示符 程序执行到此暂停 屏幕显示引号中的字符串 要求用户输入数据 数据输入后 程序继续运行 举例 N input N c control c 强行停止程序运行的命令 2010 2011第二学期 安徽工业大学光信息科学与技术 74 5 6MATLAB的编程举例 光线追迹 例 用MATLAB编程作图分析不同颜色的平行光轴的光线通过平凸透镜聚焦的光路情况 中心厚度为3mm凸面曲率半径为100mm 波长折射率480 0 1 523 蓝色550 0 1 519 绿色632 8 1 515 红色 2010 2011第二学期 安徽工业大学光信息科学与技术 75 5 6MATLAB的编程举例 光线追迹 光学分析以球心为坐标原点 1 光线经过透镜的第一个面后方向不变2 光线经过透镜第二个面时发生折射 假设平行入射光距离光轴的距离为h入射角为 折射定律 光线在透镜中经过的距离为 2010 2011第二学期 安徽工业大学光信息科学与技术 76 5 6MATLAB的编程举例 光线追迹 编程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海宁厂房搬迁协议书范本
- 员工保密价格协议书范本
- 创新型企业财务总监股权激励聘用合同模板
- 车辆质押与物流运输一体化合同
- 海鲜餐厅品牌合作经营授权合同
- 农村集体菜地领种与社区服务共享合同
- 和同学的协议书范本
- 美食街餐饮加盟合作协议范本
- 矿山采矿权抵押股权融资合同范本
- 货物运输合同模板
- 2025年 云南省危险化学品经营单位安全管理人员考试练习题附答案
- 2024-2025学年四年级(下)期末数学试卷及答案西师大版2
- 2025-2030年中国高导磁芯行业深度研究分析报告
- 远程胎心监护数据解读
- 2025年 道路运输企业主要负责人考试模拟试卷(100题)附答案
- 2025至2030中国执法系统行业经营效益及前景运行态势分析报告
- 2025年全国法医专项技术考试试题及答案
- 供应链公司展会策划方案
- 南通市崇川区招聘 社区工作者笔试真题2024
- 2025年宁夏银川市中考历史三模试卷(含答案)
- 【艺恩】出游趋势洞察报告
评论
0/150
提交评论