📄 plotgreensfn.m
字号:
function NewDir = PlotGreensFn(DefaultDir)
% NewDir = PlotGreensFn(DefaultDir)
% plots a Greens function file as output by SCOOTER
% Alec Duncan, May 2002
MaxLegend = 10; %Maximum number of legend rows
if nargin < 1
ChangeDir = 0;
else
StartDir = pwd;
DirStat = 1;
if ~exist(DefaultDir, 'dir')
DirStat = LibMakeDirectory(DefaultDir);
end
if DirStat
cd(DefaultDir);
ChangeDir = 1;
else
ChangeDir = 0;
end
end
[FName, Path] = uigetfile('*.grn', 'Select file to plot');
if ChangeDir
cd(StartDir);
end
if FName == 0
if nargin < 1
NewDir = pwd;
else
NewDir = DefaultDir;
end
else
NewDir = Path;
[Zs, Zr, Freq, Kr, GKr, Title] = ReadGreen([Path FName]);
Ans = inputdlg({'Figure number'}, '', 1, {int2str(gcf)});
if isempty(Ans)
return;
end
FigNum = str2num(Ans{1});
ZsTxt = ['Zs = ' num2str(Zs) 'm'];
if length(Zr) == 1
TitleTxt = [Title ', Zs = ' num2str(Zs) 'm, Zr = ' num2str(Zr) 'm, F = ' num2str(Freq), 'Hz'];
DoLegend = 0;
else
TitleTxt = [Title ', Zs = ' num2str(Zs) 'm, F = ' num2str(Freq), 'Hz'];
if length(Zr) <= MaxLegend
LegendText = [];
for IR = 1:length(Zr)
LegendText{IR} = ['Zr = ' num2str(Zr(IR)) 'm'];
end
DoLegend = 1;
else
DoLegend = 0;
end
end
figure(FigNum);
clf;
if exist('GUI_SetupGraphMenu.m', 'file')
GUI_SetupGraphMenu('plot');
end
plot(Kr, abs(GKr(:, :, 1)));
title(TitleTxt);
xlabel('Horizontal wavenumber (m^-^1)');
ylabel('Magnitude of Greens function');
if DoLegend
legend(LegendText);
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -