📄 readtmmfsargument.m
字号:
function [varmLayers varmFiles r m ... \\Layers
MaxOrder varMode WavlenRange ... \\Control
outputFile outputData outputPlot ... \\Output
] = readTMMfSArgument(filename)
%% [varmLayers varmFiles r m MaxOrder varMode WavlenRange]=readTMMfSArgument(filename)
% Copyright yhwsoft2005.
% Created at 2005.5.11.
% Modifying list:
%% Read the parameters from the input file.
fid=fopen(filename,'r');
%% Omit the title of the input file.s
textscan(fid, '%s', 2, 'delimiter', '\n', 'commentStyle', '//');
%% varm
% varmLayers, varmFiles
textscan(fid, '%s', 1, 'delimiter', '\n', 'commentStyle', '//');
InputText = textscan(fid, '%f %s', 'commentStyle', '//');
varmLayers = double(InputText{1});
varmFiles = InputText{2};
%% layers
% r, m
textscan(fid, '%s', 1, 'delimiter', '=', 'commentStyle', '//');
InputText = textscan(fid, '%s', 1, 'delimiter', '\n', 'commentStyle', '//');
RadiusMode = cell2mat(InputText{1});
textscan(fid,'%s',1,'delimiter','\n', 'commentStyle', '//');
InputText = textscan(fid, '%f%f', 'commentStyle', '//');
r = double(InputText{1});
m = double(InputText{2});
if isequal(RadiusMode, 'inc')
for j = 2:height_y(r)
r(j) = r(j) + r(j-1);
end
end
r = flipud(r);
m = flipud(m);
%% control
% MaxOrder, varMode, RangeBoundary
textscan(fid, '%s', 1, 'delimiter', '=', 'commentStyle', '//');
InputText = textscan(fid, '%d', 1, 'commentStyle', '//');
MaxOrder = double(InputText{1});
textscan(fid, '%s', 1, 'delimiter', '=', 'commentStyle', '//');
InputText = textscan(fid, '%s', 1, 'delimiter', '\n', 'commentStyle', '//');
varMode = cell2mat(InputText{1});
textscan(fid, '%s', 1, 'delimiter', '=', 'commentStyle', '//');
InputText = textscan(fid, '%f %f', 1, 'commentStyle', '//');
RangeBoundary = [InputText{1} InputText{2}];
textscan(fid, '%s', 1, 'delimiter', '=', 'commentStyle', '//');
InputText = textscan(fid, '%f', 1, 'commentStyle', '//');
SpaceNumber = double(InputText{1});
if varMode=='f'
WavlenRange = 2*pi./linspace(RangeBoundary(2), ...
RangeBoundary(1), SpaceNumber);
else
WavlenRange = linspace(RangeBoundary(1), ...
RangeBoundary(2), SpaceNumber);
end
%% output
% outputFile, outputData, outputPlot
textscan(fid, '%s', 1, 'delimiter', '=', 'commentStyle', '//');
InputText = textscan(fid, '%s', 1, 'delimiter' , '\n', 'commentStyle', '//');
outputFile = cell2mat(InputText{1});
textscan(fid, '%s', 1, 'delimiter', '=', 'commentStyle', '//');
InputText = textscan(fid, '%s%s%s', 1, 'delimiter', ',', 'commentStyle', '//');
outputData = [cell2mat(InputText{1});cell2mat(InputText{2});cell2mat(InputText{3})];
textscan(fid, '%s', 1, 'delimiter', '=', 'commentStyle', '//');
InputText = textscan(fid, '%s', 1, 'delimiter' , '\n', 'commentStyle', '//');
outputPlot = cell2mat(InputText{1});
fclose(fid);
%% Summary
% 计算范围的传递规定为波长,不管范围模式是波长或是频率。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -