楼主是光学专业,经常在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 +