楼主是光学专业,经常在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);复制代码

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);复制代码

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);复制代码

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);

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

第四种方法

2017-12-21 13:10 上传

matlab画彩色光栅,通过四种方法,在MATLAB中画一维光栅相关推荐

  1. 仅仅有人物没背景的图片怎么弄_只会画人物不会画背景?这3种方法教你快速画背景!...

    原标题:只会画人物不会画背景?这3种方法教你快速画背景! 很多同学只会画人物不会画背景,于是就想到了一些骚操作-- 1.万年"留白"党:不会画干脆就不画,一片白板走天下! 喂喂喂, ...

  2. 仅仅有人物没背景的图片怎么弄_纯干货//只会画人物不会画背景?这3种方法教你快速画背景!...

    很多同学只会画人物不会画背景,于是就想到了一些骚操作-- 1.万年"留白"党:不会画干脆就不画,一片白板走天下!喂喂喂,你就这么随便留一大片空白的背景,对得起可爱的纱雾妹妹吗! 2 ...

  3. C#四种方法调用类中的函数

    方法一 using System; using System.Collections.Generic; using System.Text; namespace Exp04_1 {class Prog ...

  4. Matlab中数组元素引用——三种方法

    Matlab中数组元素引用--三种方法 1.Matlab中数组元素引用有三种方法 1 2 3 1.下标法(subscripts) 2.索引法(index) 3.布尔法(Boolean) 注意:在使用这 ...

  5. matlab微分的语句格式,偏微分差分四种格式的matlab程序.doc

    偏微分差分四种格式的matlab程序.doc 偏微分差分四种格式的matlab程序 (1)Lax-Fridrichs格式 function u = LaxFridrichs(a,dt,n,x1,x2, ...

  6. c语言中字符串去掉逗号,JS四种方法去除字符串最后的逗号

    window.οnlοad=function() { var obj = {name: "xxx", age: 30, sex: "female"};//定义一 ...

  7. java indexof 子字符串_Java中字符串中子串的查找共有四种方法(indexof())

    Java中字符串中子串的查找共有四种方法(indexof()) Java中字符串中子串的查找共有四种方法,如下: 1.int indexOf(String str) :返回第一次出现的指定子字符串在此 ...

  8. 电脑软件删除了还能恢复吗?四种方法帮助恢复

    电脑软件删除了还能恢复吗?答案是可以的,那么电脑里删掉的软件怎样找回来呢?小编在这里介绍四种方法恢复电脑中删除的软件,分别是重新下载安装.回收站还原.电脑备份还原以及借助第三方软件恢复,具体内容可仔细 ...

  9. matlab图像拼接融合(四种方法)

    matlab图像拼接的四种方法  1.直接拼接,  2.亮度调整后拼接,  3.按距离比例融合,  4.亮度调整后按距离比例融合 流程: 1.读入左,右图,并取出重合部分,并转化为亮度图 2.分别把每 ...

  10. matlab中单独存图_Matlab中图片保存的四种方法

    Matlab 中图片保存的四种方法 matlab 的绘图和可视化能力是不用多说的, 可以说在业内是家喻户晓的. Matlab 提供了丰富 的绘图函数,比如 ez** 系类的简易绘图函数, surf . ...

最新文章

  1. 【Python基础】Python画王者荣耀英雄能力雷达图
  2. SIGIR 2021 最佳学生论文:用于图像-文本检索的动态交互式建模
  3. 数的直径(两次DFS)
  4. 聚类算法(part1)--DBSCAN
  5. python第三方库安装的各种方法(全网最全,最简单易懂)
  6. java 动态获取IP地址(城市)
  7. layui.open 关闭之后触发_JAVA虚拟机关闭钩子(Shutdown Hook)
  8. supermap iserver端口介绍
  9. php 右下脚弹窗,多种样式jQuery网页右下角弹出提示信息代码
  10. 拓端tecdat|R语言用RNN循环神经网络 、LSTM长短期记忆网络实现时间序列长期利率预测
  11. Objective-C对象模型及应用
  12. java数组的定义(菜鸟教程)
  13. CSS Hack(兼容ie8一下的浏览器)
  14. oracle获取timestamp日期,oracle日期时间型timestamp的深入理解
  15. 金三角图形c语言,升哥学堂 | 实战均线形态——“金三角”
  16. samba介绍、搭建及坑
  17. 如何通便清肠快速见效_如何排毒清肠通便
  18. POJ 3368 Frequent values
  19. python安装jupyterlab_Jupyter/JupyterLab安装使用
  20. C语言I博客作业07

热门文章

  1. 4芯网线接法(电话线接网线水晶头)
  2. background_dump_dest 参数
  3. VB操作IE浏览器完全控制
  4. vb.net多线程例子
  5. HMM(Forward algorithm)向前算法
  6. 哈工大数字逻辑与数字系统设计大作业(数字密码锁)
  7. cef 获取 html代码,CefGlue获取网页源代码
  8. Stripe/Paypal 多账户轮询系统操作【一】
  9. chm 文件的阅读、制作和反编译
  10. oracle回收DBA权限以及授权表空间