Matlab在信息光学中应用ppt课件
合集下载
MATLAB的学科应用ppt课件
G2 = zpk([0 -2],-10,1);
Cloop = feedback(G1, G2); %构造闭环系统的传递函数
step(Cloop);
%求系统的阶跃响应
hold on;
impulse(Cloop, 'r-.'); %求系统的冲激响应
legend('Step','Impulse','--','r-.');
表 12.3 函数名
tf ss zpk t fdat a ssdat a zpkdat a
MA TLAB 常用模型转换函数
函数功能
函数名
建立传递 函数模 型
series
建立状态 方程模 型
parallel
建立零极 点增益 模型
feedback
获取传递 函数模 型参数
set
获取状态 方程模 型参数
get
设在计划期内生产这3种产品的 产量为x1、x2、x3,用Z表示 利润,则有 Z = 40x1 + 30x2 + 50x3。在安 排3种产品的计划时,不得超过 设备A、B的可用工时,材料消 耗总量不得超过材料C、D的供 应量,生产的产量不能小于零。
企业的目标是要使利润达到最 大,这个问题的数学模型为
m ax Z 40 x1 30 x2 50 x3
• 此题也可使用优化工具的GUI来求解。
9
2.线性规划
研究线性约束条件下线性目标函数的极值问题的数学理论和方法,用线性规划求解的典型
问题有运输问题、生产计划问题、配套生产问题、下料和配料问题等。线性规划问题的标准形
式为
min f (x)
s.t. A x ≤ b
matlab教程ppt(完整版)
矩阵的数学运算
总结词
详细描述
总结词
详细描述
掌握矩阵的数学运算,如求逆 、求行列式、求特征值等。
在MATLAB中,可以使用inv() 函数来求矩阵的逆,使用det() 函数来求矩阵的行列式,使用 eig()函数来求矩阵的特征值。 例如,A的逆可以表示为 inv(A),A的行列式可以表示 为det(A),A的特征值可以表 示为eig(A)。
• 总结词:了解特征值和特征向量的概念及其在矩阵分析中的作用。 • 详细描述:特征值和特征向量是矩阵分析中的重要概念。特征值是满足Ax=λx的标量λ和向量x,特征向量是与特征值对
应的非零向量。特征值和特征向量在许多实际问题中都有应用,如振动分析、控制系统等。
04
MATLAB图像处理
图像的读取与显示
变量定义
使用赋值语句定义变量,例如 `x = 5`。
矩阵操作
学习如何创建、访问和操作矩 阵,例如使用方括号 `[]`。
函数编写
学习如何创建自定义函数来执 行特定任务。
02
MATLAB编程
变量与数据类型
01
02
03
变量命名规则
MATLAB中的变量名以字 母开头,可以包含字母、 数字和下划线,但不应与 MATLAB保留字冲突。
了解矩阵的数学运算在实际问 题中的应用。
矩阵的数学运算在许多实际问 题中都有应用,如线性方程组 的求解、矩阵的分解、信号处 理等。通过掌握这些运算,可 以更好地理解和解决这些问题 。
矩阵的分解与特征值
• 总结词:了解矩阵的分解方法,如LU分解、QR分解等。
• 详细描述:在MATLAB中,可以使用lu()函数进行LU分解,使用qr()函数进行QR分解。这些分解方法可以将一个复杂的 矩阵分解为几个简单的部分,便于计算和分析。
matlab教程ppt(完整版)
控制流语句
使用条件语句(如if-else)和 循环语句(如for)来控制程序 流程。
变量定义
使用赋值语句定义变量,例如 `a = 5`。
矩阵运算
使用矩阵进行数学运算,如加 法、减法、乘法和除法等。
函数编写
创建自定义函数来执行特定任 务。
02
MATLAB编程语言基础
变量与数据类型
变量命名规则
数据类型转换
编辑器是一个文本编辑器 ,用于编写和编辑 MATLAB脚本和函数。
工具箱窗口提供了一系列 用于特定任务的工具和功 能,如数据可视化、信号 处理等。
工作空间窗口显示当前工 作区中的变量,可以查看 和修改变量的值。
MATLAB基本操作
数据类型
MATLAB支持多种数据类型, 如数值型、字符型和逻辑型等 。
04
MATLAB数值计算
数值计算基础
01
02
03
数值类型
介绍MATLAB中的数值类 型,包括双精度、单精度 、复数等。
变量赋值
讲解如何给变量赋值,包 括标量、向量和矩阵。
运算符
介绍基本的算术运算符、 关系运算符和逻辑运算符 及其优先级。
数值计算函数
数学函数
列举常用的数学函数,如 三角函数、指数函数、对 数函数等。
矩阵的函数运算
总结词:MATLAB提供了许多内置函 数,可以对矩阵进行各种复杂的运算
。
详细描述
矩阵求逆:使用 `inv` 函数求矩阵的 逆。
特征值和特征向量:使用 `eig` 函数 计算矩阵的特征值和特征向量。
行列式值:使用 `det` 函数计算矩阵 的行列式值。
矩阵分解:使用 `factor` 和 `expm` 等函数对矩阵进行分解和计算指数。
MATLAB仿真及其在光学课程中的应用课件第四章 MATLAB在信息光学中的应用举例
第四章 MATLAB在信息光学 中的应用举例
4.1 信息光学函数
• 4.1.1 矩形函数 • 1.一维矩形函数 • 一般形式矩形函数的表达式:
h
hrect
(
x
a
x0
)
h
/
2
0
| x x0 | 1/ 2 a
| x x0 | 1/ 2 a
| x x0 | 1/ 2 a
在MATLAB中,一维矩形函数可用函数rectpuls( )来实现。
• 【例4-1-3】用MATLAB画出标准阶跃函数。
• ◆ MATLAB程序如下:
1.2
• x=-3:0.01:3;
1
0.8
• y=heaviside(x); 0.6
step(x)
• plot(x,y,'k','LineWidth',2)
0.4
• axis([-3 3 -0.2 1.2])
0.2
• xlabel('x'); • ylabel('step(x)‘)
(a)三角孔原始图像 (b)傅里叶变换后的图像 (c)空间频谱 图4-8 三角孔衍射的光强分布和振幅谱
(a)矩形孔原始图像 (b)傅里叶变换后的图像 (c)空间频谱 图4-9 矩形孔衍射的光强分布和振幅谱
4.3 卷积定理
• 【例4-3-1】卷积定理的仿真。
• ◆MATLAB见M文件
• ◆仿真结果见书图4-11
0
0
-1
-0.5
0
0.5
1
0
1
2
3
x
x
(a)单位矩形函数 (b)一般形式矩形函数
图4-1 一维矩形函数
4.1 信息光学函数
• 4.1.1 矩形函数 • 1.一维矩形函数 • 一般形式矩形函数的表达式:
h
hrect
(
x
a
x0
)
h
/
2
0
| x x0 | 1/ 2 a
| x x0 | 1/ 2 a
| x x0 | 1/ 2 a
在MATLAB中,一维矩形函数可用函数rectpuls( )来实现。
• 【例4-1-3】用MATLAB画出标准阶跃函数。
• ◆ MATLAB程序如下:
1.2
• x=-3:0.01:3;
1
0.8
• y=heaviside(x); 0.6
step(x)
• plot(x,y,'k','LineWidth',2)
0.4
• axis([-3 3 -0.2 1.2])
0.2
• xlabel('x'); • ylabel('step(x)‘)
(a)三角孔原始图像 (b)傅里叶变换后的图像 (c)空间频谱 图4-8 三角孔衍射的光强分布和振幅谱
(a)矩形孔原始图像 (b)傅里叶变换后的图像 (c)空间频谱 图4-9 矩形孔衍射的光强分布和振幅谱
4.3 卷积定理
• 【例4-3-1】卷积定理的仿真。
• ◆MATLAB见M文件
• ◆仿真结果见书图4-11
0
0
-1
-0.5
0
0.5
1
0
1
2
3
x
x
(a)单位矩形函数 (b)一般形式矩形函数
图4-1 一维矩形函数
matlab教程ppt(完整版)
matlab教程 PPT(完整版)
汇报人:可编辑
2023-12-24
目录
• MATLAB基础 • MATLAB编程 • MATLAB矩阵运算 • MATLAB数值计算 • MATLAB可视化 • MATLAB应用实例
01
CATALOGUE
MATLAB基础
MATLAB简介
MATLAB定义
MATLAB应用领域
菜单栏
包括文件、编辑、查看、主页 、应用程序等菜单项。
命令窗口
用于输入MATLAB命令并显示 结果。
MATLAB主界面
包括命令窗口、当前目录窗口 、工作空间窗口、历史命令窗 口等。
工具栏
包括常用工具栏和自定义工具 栏。
工作空间窗口
显示当前工作区中的变量。
MATLAB基本操作
变量定义
使用变量名和赋值符号(=)定义变 量。
详细描述
直接输入:在 MATLAB中,可以直 接通过输入矩阵的元 素来创建矩阵。例如 ,`A = [1, 2, 3; 4, 5, 6; 7, 8, 9]`。
使用函数创建: MATLAB提供了多种 函数来创建特殊类型 的矩阵,如`eye(n)`创 建n阶单位矩阵, `diag(v)`创建由向量v 的元素构成的对角矩 阵。
使用bar函数绘制柱状图 ,可以自定义柱子的宽
度、颜色和标签。
使用pie函数绘制饼图, 可以自定义饼块的比例
和颜色。
三维绘图
01
02
03
04
三维线图
使用plot3函数绘制三维线图 ,可以展示三维空间中的数据
点。
三维曲面图
使用surf函数绘制三维曲面图 ,可以展示三维空间中的曲面
。
三维等高线图
汇报人:可编辑
2023-12-24
目录
• MATLAB基础 • MATLAB编程 • MATLAB矩阵运算 • MATLAB数值计算 • MATLAB可视化 • MATLAB应用实例
01
CATALOGUE
MATLAB基础
MATLAB简介
MATLAB定义
MATLAB应用领域
菜单栏
包括文件、编辑、查看、主页 、应用程序等菜单项。
命令窗口
用于输入MATLAB命令并显示 结果。
MATLAB主界面
包括命令窗口、当前目录窗口 、工作空间窗口、历史命令窗 口等。
工具栏
包括常用工具栏和自定义工具 栏。
工作空间窗口
显示当前工作区中的变量。
MATLAB基本操作
变量定义
使用变量名和赋值符号(=)定义变 量。
详细描述
直接输入:在 MATLAB中,可以直 接通过输入矩阵的元 素来创建矩阵。例如 ,`A = [1, 2, 3; 4, 5, 6; 7, 8, 9]`。
使用函数创建: MATLAB提供了多种 函数来创建特殊类型 的矩阵,如`eye(n)`创 建n阶单位矩阵, `diag(v)`创建由向量v 的元素构成的对角矩 阵。
使用bar函数绘制柱状图 ,可以自定义柱子的宽
度、颜色和标签。
使用pie函数绘制饼图, 可以自定义饼块的比例
和颜色。
三维绘图
01
02
03
04
三维线图
使用plot3函数绘制三维线图 ,可以展示三维空间中的数据
点。
三维曲面图
使用surf函数绘制三维曲面图 ,可以展示三维空间中的曲面
。
三维等高线图
matlab教程ppt(完整版)
矩阵乘法:两个矩阵相乘 需要满足特定的条件,例 如E=A*B。
矩阵减法:两个相同大小 的矩阵可以进行减法运算 ,例如D=A-B。
矩阵的分解与特征值
详细描述
矩阵分解:将一个复杂的矩阵分 解为几个简单的、易于处理的矩 阵,例如LU分解、QR分解等。
特征值:矩阵的特征值是该矩阵 的一个重要的数值属性,可以用 于分析矩阵的性质和特征。
矩阵运算
介绍矩阵的创建、索引、算术 运算和逻辑运算等操作。
控制流
介绍if语句、for循环和while 循环等控制流结构的使用方法 。
02
MATLAB编程
变量与数据类型
01
02
03
变量命名规则
MATLAB中的变量名以字 母开头,可以包含字母、 数字和下划线,但不能包 含空格。
数据类型
MATLAB支持多种数据类 型,如数值型、字符型、 逻辑型和单元数组等。
matlab教程PPT(完整版)
汇报人:可编辑 2023-12-26
目 录
• MATLAB基础 • MATLAB编程 • MATLAB矩阵运算 • MATLAB图像处理 • MATLAB数值分析 • MATLAB应用实例
01
MATLAB基础
MATLAB简介
MATLAB定义
MATLAB应用领域
MATLAB是一种用于算法开发、数据 可视化、数据分析和数值计算的编程 语言和环境。
函数编写
01
02
03
04
函数定义
使用`function`关键字定义函 数,指定输入输出参数。
函数体
在函数定义中编写实现特定功 能的代码。
函数调用
通过函数名和输入参数调用自 定义函数。
矩阵减法:两个相同大小 的矩阵可以进行减法运算 ,例如D=A-B。
矩阵的分解与特征值
详细描述
矩阵分解:将一个复杂的矩阵分 解为几个简单的、易于处理的矩 阵,例如LU分解、QR分解等。
特征值:矩阵的特征值是该矩阵 的一个重要的数值属性,可以用 于分析矩阵的性质和特征。
矩阵运算
介绍矩阵的创建、索引、算术 运算和逻辑运算等操作。
控制流
介绍if语句、for循环和while 循环等控制流结构的使用方法 。
02
MATLAB编程
变量与数据类型
01
02
03
变量命名规则
MATLAB中的变量名以字 母开头,可以包含字母、 数字和下划线,但不能包 含空格。
数据类型
MATLAB支持多种数据类 型,如数值型、字符型、 逻辑型和单元数组等。
matlab教程PPT(完整版)
汇报人:可编辑 2023-12-26
目 录
• MATLAB基础 • MATLAB编程 • MATLAB矩阵运算 • MATLAB图像处理 • MATLAB数值分析 • MATLAB应用实例
01
MATLAB基础
MATLAB简介
MATLAB定义
MATLAB应用领域
MATLAB是一种用于算法开发、数据 可视化、数据分析和数值计算的编程 语言和环境。
函数编写
01
02
03
04
函数定义
使用`function`关键字定义函 数,指定输入输出参数。
函数体
在函数定义中编写实现特定功 能的代码。
函数调用
通过函数名和输入参数调用自 定义函数。
MATLAB仿真及其在光学课程中的应用课件第六章 课程设计综合实例
• ◆ MATLAB程序见M文件 • ◆ 运行结果如图6-22所示。 • 3.高斯光束的传输变换 • 【例6-3-3】高斯光束通过二阶变换矩阵表征复杂光学系统的
聚焦特性分析。
• ◆ MATLAB程序见M文件 • ◆ 运行结果如图6-23所示。
6.4 基于MATLAB的光纤定向耦合器的 耦合特性分析
第六章 课程设计综合实例
6.1 基于MATLAB的汽车牌照识别系统 的设计与实现
• 6.1.1 设计目的 • 车辆牌照识别系统(License Plate Recognition System
,简称LPRS)是建设智能交通系统不可或缺的部分。基于 MATLAB的汽车牌照识别系统是通过引入数字摄像技术和计 算机信息管理技术,采用先进的图像处理、模式识别和人工 智能技术,通过对图像的采集和处理,获得更多的信息,从 而通过智能识别车牌来达到更高的智能化管理程度。 • 6.1.2 设计任务及具体要求 • 车牌识别系统整个处理过程分为预处理、边缘提取、车牌 定位、字符分割、字符识别五大模块,用 MATLAB软件编程 来实现每一个部分处理过程,最后使得计算机可以自主识别 汽车牌照。
6.3 基于MATLAB的高斯光束及传输特
性分析
• 6.3.1 设计目的 • 掌握高斯光束的光强分布特点及传播过程中光强的变化; • 熟悉高斯光束通过透镜的聚焦; • 熟悉高斯光束的传输变换。 • 6.3.2 设计任务及要求 • 本设计旨在用MATLAB实现高斯光束光强分布和传播过
程中高斯光强的变化,高斯光束通过透镜的聚焦,高斯光束 传输变换的仿真。
• 6.4.4 设计实现 • ◆ MATLAB程序见M文件 • ◆ 运行结果如图6-26~6-32所示。
6.5 基于MATLAB的光学图像加密解密
聚焦特性分析。
• ◆ MATLAB程序见M文件 • ◆ 运行结果如图6-23所示。
6.4 基于MATLAB的光纤定向耦合器的 耦合特性分析
第六章 课程设计综合实例
6.1 基于MATLAB的汽车牌照识别系统 的设计与实现
• 6.1.1 设计目的 • 车辆牌照识别系统(License Plate Recognition System
,简称LPRS)是建设智能交通系统不可或缺的部分。基于 MATLAB的汽车牌照识别系统是通过引入数字摄像技术和计 算机信息管理技术,采用先进的图像处理、模式识别和人工 智能技术,通过对图像的采集和处理,获得更多的信息,从 而通过智能识别车牌来达到更高的智能化管理程度。 • 6.1.2 设计任务及具体要求 • 车牌识别系统整个处理过程分为预处理、边缘提取、车牌 定位、字符分割、字符识别五大模块,用 MATLAB软件编程 来实现每一个部分处理过程,最后使得计算机可以自主识别 汽车牌照。
6.3 基于MATLAB的高斯光束及传输特
性分析
• 6.3.1 设计目的 • 掌握高斯光束的光强分布特点及传播过程中光强的变化; • 熟悉高斯光束通过透镜的聚焦; • 熟悉高斯光束的传输变换。 • 6.3.2 设计任务及要求 • 本设计旨在用MATLAB实现高斯光束光强分布和传播过
程中高斯光强的变化,高斯光束通过透镜的聚焦,高斯光束 传输变换的仿真。
• 6.4.4 设计实现 • ◆ MATLAB程序见M文件 • ◆ 运行结果如图6-26~6-32所示。
6.5 基于MATLAB的光学图像加密解密
MATLAB仿真及其在光学课程中的应用课件第三章 MATLAB在光学原理中的应用举例
• k1=5; %波1波数
振幅
0
• k2=4; %波2波数 -0.5
• t=0.1:0.2:1.3; %对时间进行等间隔取点
-1
• a=1;
%波动振幅
0
• x=0:0.001:5; %对传播方向x轴进行等间隔取点
• A2=a*cos(k2*x-w2*t(end)); %A2波动函数
• A1=a*cos(k1*x-w1*t(end)); %A1波动函数
第三章 MATLAB在光学原理 中的应用举例
3.1 平面电磁波在不同媒介分界面上的 入射、反射和折射
• 3.1.1 电矢量平行入射面的反射系数和振幅透 射系数
反射系数为:
rp n2 cosi n1 n2 cosi n1
1 (n1 / n2 )2 sin2 i 1 (n1 / n2 )2 sin2 i
0
1
2
3
4
图3-10 单色光双缝干涉实验结果
• 【例3-2-5】模拟非单色光的双缝干涉实验。 • MATALB程序见M文件
x 10-3 -1
• plot(x,A1,'-',x,A2,':')
• set(gcf,'color',[1 1 1]);
• set(gca,'YTick',[-1:0.5:1]);
• set(gca,'XTick',[0:1:5]); • xlabel('变量X') • ylabel('振幅') • title('两列单色平面波的模拟') • legend('光波1','光波2')
《Matlab的应用》课件
滤波器类型
01
低通滤波器、高通滤波器、带通滤波器、带阻滤波器
等。
滤波器设计
02 根据应用需求,选择合适的滤波器类型和参数。
信号变换
03
包括傅里叶变换、拉普拉斯变换、Z变换等,用于将
信号从一种表示形式转换到另一种表示形式。
06
Matlab在机器学习中的应 用
机器学习基础
机器学习的定义
机器学习是人工智能的一个子集 ,通过算法让机器基于数据进行 自我学习,并做出预测或决策。
控制系统的Simulink优化
通过Simulink的优化工具,可以对控制系统参数进行优化,提高系统 性能。
05
Matlab在信号处理中的应 用
信号处理基础
信号分类
根据不同特性,信号可以分为连续信号和离散信号、确定性信号 和随机信号等。
信号表示法
可以用多种方式表示信号,如时间域、频域、复数域等。
信号处理目的
01
优势
02
广泛应用于学术界和工业界,拥有庞大的 用户社区和丰富的资源。
03
支持多种操作系统,包括Windows、 Linux和Mac OS。
04
可与其他编程语言(如C、Python)进行 集成,方便用户进行混合编程。
02
Matlab基础操作
Matlab编程基础
01
命令行交互模式
介绍Matlab的命令行交互模式,包 括输入命令和查看结果。
《Matlab的应用》PPT课件
目 录
• Matlab简介 • Matlab基础操作 • Matlab在科学计算中的应用 • Matlab在控制系统中的应用 • Matlab在信号处理中的应用 • Matlab在机器学习中的应用
《MATLAB仿真及其在光学课程中的应用(第3版)》教学课件—02MATLAB的基本语法
• 2.1.4 元胞数组
• 元胞是元胞数组(CellArray)的基本组成部分。元胞 数组与数值数组相似,以下标来区分,单元元胞数组由元 胞和元胞内容两部分组成。与一般的数值数组不同,元胞 可以存放任何类型、任何大小的数组,而且同一个元胞数 组中各元胞的内容可以不同。创建元胞数组有用花括号{ } 直接赋值生成元胞数组和函数cell创建元胞数组这两种方 法。元胞数组的运算函数如书中表2-6所示。
• 【例2-1-3】元胞数组创建与显示实例。 • MATLAB语句: • a={'MATLAB成绩',91,['笔试46';'上机45']} %用括号{}直接赋值 • b=cell(2);b{1,1}='class';b{1,2}='no020305'; • b{2,1}='name mary'; b{2,2}=['Computer is 95'] %函数cell创建元胞
MATLAB语句:
• >>student=struct('number','02110875','name','王玲','sex','女 ','age','21',...
• 'class','03','department','02')
• 运行语句,输出结果:
• student =
•
number: '02110875'
• MATLAB为关系运算和逻辑运算提供了关系操作符和 逻辑操作符,如书中表2-4和表2-5所示。
matlab教程ppt(完整版) (3)
数值积分与微分
数值积分
使用MATLAB的`integral`函数进 行数值积分,可以选择不同的积
分方法。
数值微分
可以使用差分法或`diff`函数进行 数值微分。
符号积分与微分
使用符号计算工具箱中的函数, 如`syms`、`int`和`diff`,进行符
号积分和微分。
常微分方程求解
欧拉法
简单的一阶常微分方程的初值问题可以使用欧拉法求解。
图形可视化
MATLAB具有强大的图形可视化功能,支 持多种图形类型和交互操作。
编程语言
MATLAB是一种高级编程语言,具有丰富 的函数库和工具箱。
数据分析
MATLAB提供了多种数据分析工具,包括 数据导入、处理、分析和可视化。
MATLAB的应用领域
科学计算
广泛应用于数学、物理、工程等 领域。
控制系统设计
短时傅里叶变换
通过在时间上滑动窗口并对每个窗口内的信号进 行傅里叶变换,实现信号的时频分析。
小波变换
利用小波基函数的特性,对信号进行多尺度分析 ,从而在时频域上展示信号的细节。
信号滤波与变换
数字滤波器设计
使用MATLAB中的滤波器设计工具,如butterworth、 chebyshev等,设计数字滤波器以实现信号的滤波。
03 多目标优化
使用`gamultiobj`函数求解多目 标最优化问题。
0 最小二乘问题 4使用`lsqlin`或`lsqnonlin`函数
求解线性或非线性最小二乘问 题。
05
MATLAB在信号处理中的应用
信号的时频分析
信号的时频表示
将信号从时间域转换到时频域,以便更好地理解 和分析信号的特性。
MATLAB及应用课件PPT
who 和 whos 的作用是列出在 MATLAB 工 作内存中驻留的变量名
exist 命令用来查找或检查变量和函数的存在 性
第1章 Matlab概述
上机练习(1)
( 1)以两种方式打开 MATLAB 工作窗口,进入MATLAB 6.5 的工作环 境,并尝试用不同的方式退出。
( 2)尝试、熟悉 MATLAB 6.5 的各栏菜单以及各个工具栏的功能。 ( 3)重新启动 MATLAB 6.5,进入 MATLAB 工作窗口,用 who 命令
x=(1:0.1:10); %给出自变量 x
的定义域
y=2*sin(1+x); %写出函数形
式
plot(x,y)
%绘出函数图形
y=2*sin(1+0.5) %求当 x=0.5
时的 y 值,其
后不加分号,
直接在窗口中
给出结果
y =1.9950
%输出 y 的计
算结果
第1章 Matlab概述
例 1-4 绘制函数 y=3x3-10x2+5x-8的图像
主程序包括了 MATLAB 语言、工作环境、句柄 图形、数学函数库和应用程序接口五部分.
第1章 Matlab概述
1.2、Matlab的工作环境
1. MATLAB 的启动
桌面快捷方式启动 开始菜单方式启动
2. MATLAB和退出
Matlab菜单命令/关闭按钮 在Matlab命令窗口输入exit或quit
123
456
789
第1章 Matlab概述
当然我们也可以采用分行输入的形式
>> A=[1,2,3
4,5,6
7,8,9]
exist 命令用来查找或检查变量和函数的存在 性
第1章 Matlab概述
上机练习(1)
( 1)以两种方式打开 MATLAB 工作窗口,进入MATLAB 6.5 的工作环 境,并尝试用不同的方式退出。
( 2)尝试、熟悉 MATLAB 6.5 的各栏菜单以及各个工具栏的功能。 ( 3)重新启动 MATLAB 6.5,进入 MATLAB 工作窗口,用 who 命令
x=(1:0.1:10); %给出自变量 x
的定义域
y=2*sin(1+x); %写出函数形
式
plot(x,y)
%绘出函数图形
y=2*sin(1+0.5) %求当 x=0.5
时的 y 值,其
后不加分号,
直接在窗口中
给出结果
y =1.9950
%输出 y 的计
算结果
第1章 Matlab概述
例 1-4 绘制函数 y=3x3-10x2+5x-8的图像
主程序包括了 MATLAB 语言、工作环境、句柄 图形、数学函数库和应用程序接口五部分.
第1章 Matlab概述
1.2、Matlab的工作环境
1. MATLAB 的启动
桌面快捷方式启动 开始菜单方式启动
2. MATLAB和退出
Matlab菜单命令/关闭按钮 在Matlab命令窗口输入exit或quit
123
456
789
第1章 Matlab概述
当然我们也可以采用分行输入的形式
>> A=[1,2,3
4,5,6
7,8,9]
MATLAB及在电子信息课程中的应用.ppt
1.3.1 命令窗(Command Window) 单行命令执行方式
执行结果直接显示
1.3.2 图形窗(Figure Window) 用图形方式表示计算结果
1.3.3 文本编辑窗(File Editor) 多行命令组成语言组,可以文件方式存盘
•
下面就具体看一下MATLAB 的工作环境演示。
2020/8/16
• 1.1.1 MATLAB 概述
MATLAB是集数值计算、符号运算及图 形处理等强大功能于一体的科学计算语言,是 一种交互式的以矩阵为基础的系统计算平台,它 用于科学和工程的计算与可视化。它的优点在 于快速开发计算方法,而不在于计算速度。
MATLAB已成为一门高校必修的课程, 也是最为普遍的计算工具之一。
2020/8/16
8
1.2 MATLAB语言的特点
• 友好的工作平台和编程环境 • 简单易用的程序语言 • 强大的科学计算及数据处理能力 • 出色的图形处理功能 • 应用广泛的模块集和工具箱 • 实用的程序接口和发布平台 • 模块化的设计和系统级的仿真
2020/8/16
9
1.3 MATLAB的工作环境
2020/8/16
3
第1章 MATLAB语言概述
• 1.1 MATLAB语言的发展 • 1.2 MATLAB语言的特点 • 1.3 MATLAB的工作环境
1.3.1 命令窗 1.3.2 图形窗 1.3.3 文本编辑窗 • 1.4 演示程序 • 1.5 网络资源
2020/8/16
4
1.1 MATLAB语言的发展
t=t+dt; theta=theta0*cos(sqrt(g/l)*t); x=l*sin(theta);y=-l*cos(theta); set(head,'xdata',x,'ydata',y); set(body,'xdata',[0;x],'ydata',[0;y]); drawnow; end
MATLAB仿真及其在光学课程中的应用课件第五章 MATLAB在光电图像处理中的应用
转化。
• >> figure • >> imshow(I); • >> figure • >> imshow(X,map);
(a)原始灰度图像
(b)索引图像
• 5.3.3 im2bw函数 • im2bw函数通过设定一个阈值将灰度图像、索引图像、
RGB图像转换为二值图像。语法: • BW=im2bw(I, level) ,将灰度图像转化成二值图像。 • BW=im2bw(X, map, level),将索引图像转成二值图像。 • BW=im2bw(RGB, level),将RGB图像转化成二值图像。 • 其中,level是一个归一化阈值,取值在[0,1]。
灰度图像的转换。ind2rgb函数用于索引图像向RGB图像转 换。函数语法分别为:
• I= ind2gray(X, map)
• RGB=ind2rgb(X, map)
• 【例5-3-3】编写程序实现将一张灰度图像转化成索引图像。 • ◆ MATLAB程序如下: • >> I=imread('E:\3.jpg'); • >> [X,map]=gray2ind(I,32);% 调用gray2ind()函数进行图像
60 50 40 30 20 10 0
0
20
40
60
5.3 图像类型的转化
• 5.3.1 dither函数
• dither函数是采用抖动法来转换图像。该函数通过颜色抖动 来增强输出图像的颜色分辨率。该函数可以把RGB图像转换 成索引图像或把灰度图像转换成二值图像。函数语法:
• X=dither(A,map),该函数把RGB图像A按照调色板map转 换成索引图像X。
• >> figure • >> imshow(I); • >> figure • >> imshow(X,map);
(a)原始灰度图像
(b)索引图像
• 5.3.3 im2bw函数 • im2bw函数通过设定一个阈值将灰度图像、索引图像、
RGB图像转换为二值图像。语法: • BW=im2bw(I, level) ,将灰度图像转化成二值图像。 • BW=im2bw(X, map, level),将索引图像转成二值图像。 • BW=im2bw(RGB, level),将RGB图像转化成二值图像。 • 其中,level是一个归一化阈值,取值在[0,1]。
灰度图像的转换。ind2rgb函数用于索引图像向RGB图像转 换。函数语法分别为:
• I= ind2gray(X, map)
• RGB=ind2rgb(X, map)
• 【例5-3-3】编写程序实现将一张灰度图像转化成索引图像。 • ◆ MATLAB程序如下: • >> I=imread('E:\3.jpg'); • >> [X,map]=gray2ind(I,32);% 调用gray2ind()函数进行图像
60 50 40 30 20 10 0
0
20
40
60
5.3 图像类型的转化
• 5.3.1 dither函数
• dither函数是采用抖动法来转换图像。该函数通过颜色抖动 来增强输出图像的颜色分辨率。该函数可以把RGB图像转换 成索引图像或把灰度图像转换成二值图像。函数语法:
• X=dither(A,map),该函数把RGB图像A按照调色板map转 换成索引图像X。
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.
空域位移对夫瑯禾菲衍射的影响
.
.
• p1=1-(sinc(b).*sin(n*d)./sin(d)).^2;%方便下面着色
• p2=(sinc(b).*sin(n*d)./sin(d)).^2;
• figure;
• plot(d,p2);
• xlabel('kasinθ');
• ylabel('光强I/I0');
• title('多缝缝衍射强度分布');
• lgray=zeros(100,3);
• for i=0:99
•
lgray(i+1,:)=(99-i)/99;
• end
• figure;
• imagesc(p1)
• title('多缝衍射模拟图');
• colormap(lgray);
.
圆孔衍射
.
.
.
圆孔衍射代码
• clear; • N=1; • K=6; • [x,y]=meshgrid(linspace(0,N+1,800)); • z=x+i*y; • u=0; • for m=1:N; • for n=1:N; • zk=abs(z-[m+n*i])*K; • u=u+0.1*besselj(4,zk)./zk; • r=1-u; • A=1-abs(u).^2; • end • ip=imshow(A,[])
.
矩孔衍射
.
.
矩孔衍射代码
• x=zeros(30); • x(10:20,10:20)=1 • imshow(x,[-1 5]) • x=fft2(x,256,256); • x=fftshift(x); • imshow(log(abs(x)),[-1 5]);
.
.
.
.
.
巴比涅互补原理
• imagesc(p1)
• title('多缝衍射模拟图');
• colormap(lgray);
.
平面光栅衍射
.
.
.
.
.
.
.
.
.
平面衍射计算机模拟代码
• clc;
• clear;
• n=input('平面衍射光栅数');
• d=-n*pi:0.0001*pi:pi*n;
• b=d/15;
.
多缝衍射
.
.
.
.
.
.
.
.
.
.
多缝衍射代码
• clc;
• clear;
• n=input('多缝衍射缝数');
• a=-2*n*pi:0.0001*pi:2*pi*n;
• p1=1-(sin(n*a)./sin(a)).^2;%方便下面着色
• p2=(sin(n*a)./sin(a)).^2;
Matlab在信息光学中的应用
——一些衍射现象的计算机模拟 李祥艳-05102133
.
一、单缝衍射模拟
.
.
单缝衍射计算机模拟代码
• clc; • clear; • a=-2*pi:0.0001*pi:2*pi; • p1=(1-sinc(a)).^2;%方便下面着色 • p2=sinc(a).^2; • figure; • plot(a,p2); • xlabel('kasinθ'); • ylabel('光强I/I0'); • title('单缝衍射强度分布'); • lgray=zeros(256,3); • for i=0:255 • lgray(i+1,:)=(255-i)/255; • end • figure; • imagesc(p1) • title('单缝衍射模拟图'); • colormap(lgray)
• figure;
• plot(a,p2);
• xlabel('kasinθ');
• ylabel('光强I/I0');
• title('多缝缝衍射强度分布');
• lgray=zeros(256,3);
• for i=0:255
•
lgray(i+1,:)=(255-i)/255;
• end
• figure;
• [x1,map]=imread('j2.bmp');subplot(2,3,2);imshow (x1);x1=fft2(x1,256,256);x1=fftshift(x1);subplot(2, 3,5);imshow(log(abs(x1)),[-1 5]);
• [x1,map]=imread('j3.bmp');subplot(2,3,3);imshow (x1);x1=fft2(x1,256,256);x1=fftshift(x1);subplot(2, 3,6);imshow(log(abs(x1)),[-1 5]);
5]);title('未移至中心频谱') • x=fftshift(x); • subplot(1,3,3);imshow(log(abs(x)),[-1
5]);title('移至中心频谱')
.
多缝衍射计算机模拟
.
.
.
.
旋转对频谱的影响代码
• [x1,map]=imread('j1.bmp');figure;subplot(2,3,1);i mshow(x1);x1=fft2(x1,256,256);x1=fftshift(x1);su bplot(2,3,4);imshow(log(abs(x1)),[
.
.
.
圆孔衍射代码
• [x,map]=imread('yb.bmp'); • figure,imshow(x) • figure,subplot(1,3,1);imshow(x) • x=fft2(x,256,256); • subplot(1,3,2);imshow(log(abs(x)),[-1
.
缝宽对夫瑯禾菲衍射的影响
.
缝宽对夫瑯禾菲衍射的影响代码
• igure; • for k=1:4; • u=zeros(50,50); • u(20:30,25:(24+k))=1; • subplot(2,4,k);imshow(u); • end; • for k=5:8; • u=zeros(50,50); • u(20:30,25:(20+k))=1; • u=fft2(u,256,256);u=fftshift(u); • subplot(2,4,k);imshow(log(abs(u)),[-1 1]);title('夫瑯禾费衍射'); • end;
空域位移对夫瑯禾菲衍射的影响
.
.
• p1=1-(sinc(b).*sin(n*d)./sin(d)).^2;%方便下面着色
• p2=(sinc(b).*sin(n*d)./sin(d)).^2;
• figure;
• plot(d,p2);
• xlabel('kasinθ');
• ylabel('光强I/I0');
• title('多缝缝衍射强度分布');
• lgray=zeros(100,3);
• for i=0:99
•
lgray(i+1,:)=(99-i)/99;
• end
• figure;
• imagesc(p1)
• title('多缝衍射模拟图');
• colormap(lgray);
.
圆孔衍射
.
.
.
圆孔衍射代码
• clear; • N=1; • K=6; • [x,y]=meshgrid(linspace(0,N+1,800)); • z=x+i*y; • u=0; • for m=1:N; • for n=1:N; • zk=abs(z-[m+n*i])*K; • u=u+0.1*besselj(4,zk)./zk; • r=1-u; • A=1-abs(u).^2; • end • ip=imshow(A,[])
.
矩孔衍射
.
.
矩孔衍射代码
• x=zeros(30); • x(10:20,10:20)=1 • imshow(x,[-1 5]) • x=fft2(x,256,256); • x=fftshift(x); • imshow(log(abs(x)),[-1 5]);
.
.
.
.
.
巴比涅互补原理
• imagesc(p1)
• title('多缝衍射模拟图');
• colormap(lgray);
.
平面光栅衍射
.
.
.
.
.
.
.
.
.
平面衍射计算机模拟代码
• clc;
• clear;
• n=input('平面衍射光栅数');
• d=-n*pi:0.0001*pi:pi*n;
• b=d/15;
.
多缝衍射
.
.
.
.
.
.
.
.
.
.
多缝衍射代码
• clc;
• clear;
• n=input('多缝衍射缝数');
• a=-2*n*pi:0.0001*pi:2*pi*n;
• p1=1-(sin(n*a)./sin(a)).^2;%方便下面着色
• p2=(sin(n*a)./sin(a)).^2;
Matlab在信息光学中的应用
——一些衍射现象的计算机模拟 李祥艳-05102133
.
一、单缝衍射模拟
.
.
单缝衍射计算机模拟代码
• clc; • clear; • a=-2*pi:0.0001*pi:2*pi; • p1=(1-sinc(a)).^2;%方便下面着色 • p2=sinc(a).^2; • figure; • plot(a,p2); • xlabel('kasinθ'); • ylabel('光强I/I0'); • title('单缝衍射强度分布'); • lgray=zeros(256,3); • for i=0:255 • lgray(i+1,:)=(255-i)/255; • end • figure; • imagesc(p1) • title('单缝衍射模拟图'); • colormap(lgray)
• figure;
• plot(a,p2);
• xlabel('kasinθ');
• ylabel('光强I/I0');
• title('多缝缝衍射强度分布');
• lgray=zeros(256,3);
• for i=0:255
•
lgray(i+1,:)=(255-i)/255;
• end
• figure;
• [x1,map]=imread('j2.bmp');subplot(2,3,2);imshow (x1);x1=fft2(x1,256,256);x1=fftshift(x1);subplot(2, 3,5);imshow(log(abs(x1)),[-1 5]);
• [x1,map]=imread('j3.bmp');subplot(2,3,3);imshow (x1);x1=fft2(x1,256,256);x1=fftshift(x1);subplot(2, 3,6);imshow(log(abs(x1)),[-1 5]);
5]);title('未移至中心频谱') • x=fftshift(x); • subplot(1,3,3);imshow(log(abs(x)),[-1
5]);title('移至中心频谱')
.
多缝衍射计算机模拟
.
.
.
.
旋转对频谱的影响代码
• [x1,map]=imread('j1.bmp');figure;subplot(2,3,1);i mshow(x1);x1=fft2(x1,256,256);x1=fftshift(x1);su bplot(2,3,4);imshow(log(abs(x1)),[
.
.
.
圆孔衍射代码
• [x,map]=imread('yb.bmp'); • figure,imshow(x) • figure,subplot(1,3,1);imshow(x) • x=fft2(x,256,256); • subplot(1,3,2);imshow(log(abs(x)),[-1
.
缝宽对夫瑯禾菲衍射的影响
.
缝宽对夫瑯禾菲衍射的影响代码
• igure; • for k=1:4; • u=zeros(50,50); • u(20:30,25:(24+k))=1; • subplot(2,4,k);imshow(u); • end; • for k=5:8; • u=zeros(50,50); • u(20:30,25:(20+k))=1; • u=fft2(u,256,256);u=fftshift(u); • subplot(2,4,k);imshow(log(abs(u)),[-1 1]);title('夫瑯禾费衍射'); • end;