matlab画光拍,通过四种方法,在MATLAB中画一维光栅

楼主是光学专业,经常在MATLAB中做光学的仿真,而光栅是我们经常用到的光学元件,所以要经常绘制,在这里分享一下一维光栅的四种画法,适用于初学者,画法纯属原创,仅作参考。编译环境MATLAB2014a

下面是光栅参数,图像大小500*500,a为缝宽,d为光栅常数

r = 500 ;c = r ;

d = 10;

a = 6;复制代码

下面是第一种画法:

U1(1,:) = 1

U1(1 + 1*d,:) = 1

U1(1 + 2*d,:) = 1

..............

U1(1 + (c/d - 1)*d,:) = 1

U1(2,:) = 1

U1(2 + 1*d,:) = 1

U1(2 + 2*d,:) = 1

............

U1(2 + (c/d - 1)*d,:) = 1

U1(a,:) = 1

U1(a + 1*d,:) = 1

U1(a + 2*d,:) = 1

依次类推..........

U1(a + (c/d - 1)*d , :) = 1

可写出一下程序

%% 第一种画法

U1  = zeros( c , r );

for i = 1 : 1  : a

for j = 0 : 1 : ( c / d -1)

U1(i + j * d , : ) = 1;

end

end

figure , imshow (U1);复制代码

43fcfe79dd98d8b5ca4998a0ac1c5238.png

1.jpg (68 KB, 下载次数: 34)

第一种方法

2017-12-21 13:09 上传

显然方法有点复杂,需要两个for

下面介绍第二种:

光栅中每条缝一块画出,如下所示

U2(1:a ,:) = 1

U2(1+d:a+d ,:) = 1

U2(1+2*d:a+2*d ,:) = 1

U2(1+(c / d - 1 )*d:a+(c / d - 1)d ,:) = 1,程序如下

%% 第二种画法

U2  = zeros( c , r );

for m = 0 : 1 : ( c / d -1)

U2( 1 + m * d : a + m *d , : ) = 1;

end

figure , imshow(U2);复制代码

7c4f157950ac9f01f7c64a654c34eb98.png

2.jpg (68 KB, 下载次数: 19)

第二种方法

2017-12-21 13:09 上传

第三种方法,再次更新,把光栅常数d放到for中,这样更直观(因从0开始,所以为c-1)

%% 第三种画法

U3  = zeros( c , r );

for n = 0 : d : c-1

U3( 1 + n : a + n , : ) = 1;

end

figure , imshow(U3);复制代码

7893c43f051ea4035e63e24bd42f3196.png

3.jpg (68 KB, 下载次数: 21)

第三种方法

2017-12-21 13:09 上传

第四种方法,使遍历的参量从1开始,也是为了更直观,但这就要求循环中a-1

%% 第四种画法

U4 = zeros( c , r );

a = a -1 ;

for n = 1:d:c

U4(n:n+a,:) = 1;

end

figure , imshow(U4);

453ab0072678095cad05995629fde476.png

4.jpg (68 KB, 下载次数: 22)

第四种方法

2017-12-21 13:10 上传

MATLAB模拟绘制 彩虹形成时 光线 入射到水珠折射 -反射 -再折射的现象 目录 MATLAB模拟绘制彩虹形成时 光线入射到水珠折射 -反射 -再折射的现象 1 前言 3 光的 知识 4 光的反射定律 4 反射定律 4 特殊情况 4 光的折射 5 基本定义 5 折射定律 5 折射率 6 彩虹的形成 7 形成原理 7 为什么彩虹是弯的? 10 Baggins 572645517@qq.com MATLAB绘制光路图思路绘制光路图思路 ................................................................................................................................................................ 13 绘制基础模拟平面 绘制基础模拟平面............................................................................................................................................................................ 13 绘制初始垂直光线 绘制初始垂直光线............................................................................................................................................................................ 14 改变角度循环刷新绘图 改变角度循环刷新绘图............................................................................................................................................................ 15 完整代码 完整代码............................................................................................................................................................................................................................ 18 运行效果 运行效果............................................................................................................................................................................................................ 18 全部代码 全部代码............................................................................................................................................................................................................ 18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值