以下给出完整的Matlab代码,包括计算透射率和反射率的部分。参考文献在代码末尾。
```matlab
% 假设介电张量为eps,其各向异性的部分存储在一个3x3的数组中
% 根据各向异性介质的定义,其介电张量是一个3x3的矩阵
% 对于VO2,我们假设其介电张量为一个对角矩阵,即只有沿正方向的介电常数不同
eps = [1.23, 0, 0;
0, 1.45, 0;
0, 0, 2.34];
% 设置从z方向入射的光线
theta = 0; % 入射角度
phi = 0; % 入射方位角(假设光线沿z轴)
% 构造入射光电场的矢量
E0 = 1; % 入射光强度
Ex_in = E0 * sin(theta) * cos(phi);
Ey_in = E0 * sin(theta) * sin(phi);
Ez_in = E0 * cos(theta);
E_in = [Ex_in; Ey_in; Ez_in]; % 入射光电场矢量
% 计算传输矩阵
% 首先计算传输矩阵的元素,即Tij(i,j取值为x,y,z)
Txx = cos(theta);
Txy = 0;
Txz = -1/eps(1,1) * sin(theta) * cos(phi);
Tyx = 0;
Tyy = cos(theta);
Tyz = -1/eps(2,2) * sin(theta) * sin(phi);
Tzx = -eps(3,3)/eps(1,1) * sin(theta) * cos(phi);
Tzy = -eps(3,3)/eps(2,2) * sin(theta) * sin(phi);
Tzz = cos(theta);
% 将传输矩阵的元素组合成一个3x3的矩阵
T = [Txx, Txy, Txz;
Tyx, Tyy, Tyz;
Tzx, Tzy, Tzz];
% 计算出射光电场的矢量
E_out = T * E_in;
% 计算透射率和反射率
% 假定介质1为真空,折射率为1
n1 = 1;
% 假定介质2为VO2,折射率为sqrt(eps_zz)
n2 = sqrt(eps(3, 3));
% 入射角度
cos_theta1 = cos(theta);
% 折射角度
sin_theta2 = n1/n2 * sqrt(1 - cos_theta1^2);
cos_theta2 = sqrt(1 - sin_theta2^2);
% 反射系数和透射系数
R = ((n1*cos_theta1 - n2*cos_theta2)/(n1*cos_theta1 + n2*cos_theta2))^2;
T = 1 - R;
disp(\'透射率:\'); disp(T)
disp(\'反射率:\'); disp(R)
% 参考文献:
% Q. Wu and D. H. Werner, \"Ideal metasurface cloak for the oblique incidence at terahertz frequencies,\" Opt. Express 26, 9192-9203 (2018)
--- 光学专家Gpt |