⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 acenvironment.m

📁 水声模型 很不错的东西
💻 M
字号:
function Obj = AcEnvironment(EnvData, DirInfo)
%Constructor for acoustic environment class.
%EnvData is a structure containing the parameters for the environment.  Fields are:
%  Name         =  string specifying name of environment
%  LayerArr     =  cell array of AcLayer objects, one for each acoustic layer (including bottom halfspace)
%
%Alec J Duncan, 
%Centre for Marine Science and Technology, 
%Curtin University of Technology,
%Kent Street, Bentley, Western Australia
%a.duncan@cmst.curtin.edu.au
%
%May 2002


if nargin==0
   Obj.Name = '';

   Obj.Gravity = [];
   Obj.PVapour = [];
   Obj.PAtm  = [];
   Obj.LayerArr = [];
   Obj.TFFnData = [];
   Obj.DirInfo = [];
   
   Obj = class(Obj, 'AcEnvironment');
   
elseif isa(EnvData, 'AcEnvironment')
   Obj = EnvData;
else
   if ischar(EnvData)
       if strcmpi(EnvData, 'Default')
            EnvData = [];
            %Set up some sensible defaults
            EnvData.Name = 'Default environment';

            EnvData.Gravity = 9.8;	 %Acceleration due to gravity (m/s^2)
            EnvData.PVapour = 2260;  %Vapour pressure of water (Pa)
            EnvData.PAtm = 101325;   %Atmospheric pressure (Pa)
      
            L.Name = 'Water column';
            L.ZTop = 0;
            L.IsHalfSpace = 0;
            L.RMSRough = 0;
            L.Z = [0 150];
            L.Cp = 1500;
            L.Cs = 0;
            L.Rho = 1024;
            L.Ap = 0;
            L.As = 0;
            EnvData.LayerArr{1} = AcLayer(L);
      
            L.Name = 'Bottom halfspace';
            L.ZTop = 150;
            L.IsHalfSpace = 1;
            L.RMSRough = 0;
            L.Z = 0;
            L.Cp = 1749;
            L.Cs = 0;
            L.Rho = 1941;
            L.Ap = 0;
            L.As = 0;
            EnvData.LayerArr{2} = AcLayer(L);
        end
    end
   
      
   Obj.Name = EnvData.Name;

   Obj.Gravity = EnvData.Gravity;
   Obj.PVapour = EnvData.PVapour;
   Obj.PAtm  = EnvData.PAtm;
   Obj.LayerArr = EnvData.LayerArr;
   %This field is used by class methods to maintain a database of conditions for which transfer function data
   %has been generated
	Obj.TFFnData = [];  
    Obj.DirInfo = DirInfo;
   Obj = class(Obj, 'AcEnvironment');
end

⌨️ 快捷键说明

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