通过四种方法,在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 : afor j = 0 : 1 : ( c / d -1)U1(i + j * d , : ) = 1;end
end
figure , imshow (U1);
显然方法有点复杂,需要两个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);
第三种方法,再次更新,把光栅常数d放到for中,这样更直观(因从0开始,所以为c-1)
U3 = zeros( c , r );
for n = 0 : d : c-1U3( 1 + n : a + n , : ) = 1;
end
figure , imshow(U3);
第四种方法,使遍历的参量从1开始,也是为了更直观,但这就要求循环中a-1
U4 = zeros( c , r );
a = a -1 ;
for n = 1:d:cU4(n:n+a,:) = 1;
end
figure , imshow(U4);
如果需要二维光栅只需要在列方向在添加一组就可以了。
通过四种方法,在MATLAB中画一维光栅相关推荐
- C#四种方法调用类中的函数
方法一 using System; using System.Collections.Generic; using System.Text; namespace Exp04_1 {class Prog ...
- c语言中字符串去掉逗号,JS四种方法去除字符串最后的逗号
window.οnlοad=function() { var obj = {name: "xxx", age: 30, sex: "female"};//定义一 ...
- java indexof 子字符串_Java中字符串中子串的查找共有四种方法(indexof())
Java中字符串中子串的查找共有四种方法(indexof()) Java中字符串中子串的查找共有四种方法,如下: 1.int indexOf(String str) :返回第一次出现的指定子字符串在此 ...
- 电脑软件删除了还能恢复吗?四种方法帮助恢复
电脑软件删除了还能恢复吗?答案是可以的,那么电脑里删掉的软件怎样找回来呢?小编在这里介绍四种方法恢复电脑中删除的软件,分别是重新下载安装.回收站还原.电脑备份还原以及借助第三方软件恢复,具体内容可仔细 ...
- matlab中单独存图_Matlab中图片保存的四种方法
Matlab 中图片保存的四种方法 matlab 的绘图和可视化能力是不用多说的, 可以说在业内是家喻户晓的. Matlab 提供了丰富 的绘图函数,比如 ez** 系类的简易绘图函数, surf . ...
- matlab图像拼接融合(四种方法)
matlab图像拼接的四种方法 1.直接拼接, 2.亮度调整后拼接, 3.按距离比例融合, 4.亮度调整后按距离比例融合 流程: 1.读入左,右图,并取出重合部分,并转化为亮度图 2.分别把每 ...
- 用MATLAB结合四种方法搜寻罗马尼亚度假问题
选修了cs的AI课,开始有点不适应,只能用matlab硬着头皮上了,不过matlab代码全网仅此一份,倒有点小自豪. 一.练习题目 分别用宽度优先.深度优先.贪婪算法和 A*算法求解"罗马利 ...
- python画波浪线_PPT绘制波浪线的四种方法
在开始学习教程前,先欣赏两幅画.画面中的波浪线使用的恰到好处,给整个画面增添张力与活力.那么用PPT能绘制出柔美的波浪线吗?答案当然是肯定的!一共四种方法,本文图文详解使用PPT绘制波浪线的四种方法. ...
- 单一修改高程值lisp_浅谈AutoCAD中修改高程的四种方法
浅谈 AutoCAD 中修改高程的四种方法 摘 要: 在使用 AutoCAD 进行数字化成图工作中,经常遇到线划的标高不为零,及高程点的值与实地不符,需要对其进行修改等情况,结合实 际工作经验,简单介 ...
- Simulink中构造时变传递函数的四种方法
1. 原由 传递函数是针对线性时不变(Linear Time-Invariant,LTI)系统定义的,严格来说,时变传递函数的说法并不十分严谨.但 "时变"和"非线性&q ...
最新文章
- 暮色森林模组_我的世界怎样进入暮色森林
- python tkinter button颜色变不了_更改函数中Tkinter按钮的颜色
- python脚本自动运行失败_解决Python中定时任务线程无法自动退出的问题
- mysql日期格式化季度_mysql中常用日期比较与计算函数
- TypeScript里的空值合并运算符(双问号)用法
- mysql去除空格的函数_MySQL字符串尾部空格匹配的问题
- .Net Core应用框架Util介绍(一)
- java 字符串第一个字符_深入Java源码剖析之字符串常量
- Nvidia League Player:来呀比到天荒地老
- seL4操作系统基础02:从Hello World开始
- Gccgo in GCC 4.7.1[翻译]
- 有了malloc/free为什么还要new/delete ?
- switch -case 理解
- ZStack实践汇 | 快照和备份的区别
- 如何深入学习Android系统
- Ubuntu锐捷校园网连接不上问题,认证成功但是上不去网。
- linux终端哪个好看,关于linux:Linux-终端最全推荐建议收藏
- 两阶段网络DEA及其计算
- android虚拟按键趋势,为什么Android虚拟按键老被吐槽但却有厂商坚持在做?
- 关于NFT的版权的保护认证