findabnormal.m

来自「用传输矩阵的方法来计算光子晶体带隙」· M 代码 · 共 44 行

M
44
字号
function findAbnormal
%% findAbnormal
% copyright yhwsoft2005
% 2005.4.15

%% Initialize the parameter
varmLayers = 1;
varmFiles = {'refraction.txt'};
m = [1; 1.5; 1; 1.5];
MaxOrder = 30;
WavlenRange = linspace(2.5, 3.7, 50);

% r1_Range = [3 3.5 4 4.5];
% r2_Range = [0.2:0.1:1.2];
% r3_Range = [0.2:0.1:1.2];
% r4_Range = [-0.2:0.1:0.2];
r1_Range = [3];
r2_Range = [0.2];
r3_Range = [0.2];
r4_Range = [-0.1];

outputData = [];
outputFile = 'findAbnormal.txt';

%% Core of this programme
for r1 = r1_Range
	for r2 = r2_Range
		for r3 = r3_Range
			for r4 = r2 + r4_Range
				% Generate the radius dynamically.
				r = [r1; r2; r3; r4];
				
				% Get cross section.
				[Qext Qsca Qabs] = TMM(varmLayers,varmFiles,r,m,MaxOrder,WavlenRange);
				
				% Integration
				w = sum(Qabs);
				outputData = [outputData; r', w];
			end
		end
	end
end

save(outputFile, 'outputData', '-ascii');

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?