iData_Sab [from iData]
  iData_Sab: create a 2D S(alpha,beta) data set (iData flavour)
 
  The iData_Sab class is a 2D data set holding a S(alpha,beta) dynamic 
    structure factor aka scattering function/law.
    The data set axes are beta as 1st axis (rows), alpha as 2nd axis (Angs-1).
 
  The S(alpha,beta) is a representation of the dynamic structure factor 
  using unitless momentum and energy variables defined as:
      alpha= h2q2/2MkT  = (Ei+Ef-2*mu*sqrt(Ei*Ef))/AkT
      beta = -hw/kT     = (Ef-Ei)/kT                  energy gained by neutron
      A    = M/m
      mu   = cos(theta) = (Ki.^2 + Kf.^2 - q.^2) ./ (2*Ki.*Kf)
  This representation is common in nuclear data, neutron sections (e.g. ENDF MF7).
 
  conventions:
  beta = (Ef-Ei)/kT = -hw/kT  energy gained by the neutron, unitless
     beta < 0, neutron looses energy, down-scattering (Stokes)
     beta > 0, neutron gains energy,  up-scattering (anti-Stokes)
 
  Example: sab=iData_Sab('SQW_coh_lGe.nc', 72.6,1235)
 
  Useful methods for this iData flavour:
 
  methods(iData_Sab)
    all iData methods can be used.
  iData_Sab(sab)
    convert input [e.g. a 2D iData object] into an iData_Sab to give access to
    the methods below.
 
  d   = dos(sab)
    Compute the generalized vibrational density of states (gDOS).
 
  t   = thermochemistry(sab,T)
    Compute and display thermochemistry quantities from the gDOS.
 
  m   = moments(sab, M, T)
    Compute the S(alpha,beta) moments/sum rules (harmonic frequencies).
 
  sym = symmetrize(sab)
    Extend the S(alpha,beta) in both 'beta' sides. The resulting S(a,b) is classical/symmetric in energy.
 
  sb  = Bosify(sab,T)
    Apply the 'Bose' factor (detailed balance) to a classical data set.
 
  s   = deBosify(sab,T)
    Remove Bose factor (detailed balance) from an 'experimental/quantum' data set.
 
  p   = parseparams(sab)
    Search for physical quantities in S(alpha,beta) data set.
 
  sqw = Sqw(sab)
    Convert an S(alpha,beta) to a 2D S(q,w) [iData_Sqw2D], which is roughly independent of the temperature.
 
  xs  = scattering_cross_section(sab, Ei)
    Compute the total integrated scattering cross section
 
  dr  = dynamic_range(sab, Ei, angles)
    Compute the dynamic range restricted to given incident energy and detector angles
 
  sq  = structure_factor(sab)
    Compute the structure factor S(q)
 
  [inc,multi] = incoherent(sab)
    Compute the incoherent neutron scattering law estimate in the incoherent 
      gaussian approximation, using its density of states.
 
  [gDOS,M]    = multi_phonons(sab)
    Compute the integrated multi-phonon DOS terms from an initial density of states
 
syntax:
sqw2d = iData_Sab(iData or filename, mass, Temperature)
input: s: can be an iData or filename to generate a 2D Sab object.
M: molar mass [g/mol]. Searched in the input data set when not given.
T: temperature [K]. Searched in the input data set when not given. output: an iData_Sab object
See also
Class Details
Superclasses iData
Sealed false
Construct on load false
Constructor Summary
iData_Sab : create the iData_Sab subclass 
Property Summary
Alias Holds all defined aliases 
Command Matlab commands/history of the object 
Creator Creator (program) name 
Data Data storage area 
Date Creation Date 
DisplayName User name for handling data set as a variable and legends 
Label User label (color, tag, ...) 
ModificationDate Modification Date 
Source Origin of data (filename/path) 
Tag Unique ID 
Title Data title 
User User ID 
UserData User data storage area 
class Class of the object, e.g iData or other derived class 
Method Summary
  Bosify iData_Sab: Bosify(s, T): apply the 'Bose' factor (detailed balance) to a classical data set. 
  Sqw = Sqw(Sab, M, T) 
  abs b = abs(s) : absolute value of iData object 
  acos b = acos(s) : computes the arc cosine of iData object 
  acosh b = acosh(s) : computes the inverse hyperbolic cosine of iData object 
  asin b = asin(s) : computes the arc sine of iData object 
  asinh b = asinh(s) : computes the inverse hyperbolic sine of iData object 
  atan b = atan(s) : computes the arc tangent of iData object 
  atanh b = atanh(s) : computes the inverse hyperbolic tangent of iData object 
  avifile f = avifile(s, filename, options) : save iData object into a movie 
  camproj s = camproj(a,dim) : projection/radial integration of iData objects elements 
  cart2sph s = cart2sph(a,dim) : cartesian to polar/spherical representation of iData objects 
  cat s = cat(dim,a,...) : catenate iData objects elements along dimension 
  caxis c = caxis(s, h) : Use the 2D/3D data as the colormap (CData property) in current object. 
  ceil b = ceil(s) : upper integer round of iData object 
  cell [content,fields]=cell(s) : convert iData objects into cells 
  char c = char(s) : convert iData into character 
  circshift b=circshift(a, rank, shift): shifts the axis of specified rank by a value 
  clabel b = clabel(s,label) : Change iData C axis label 
  clim b = clim(s,[ cmin cmax ]) : Reduce iData C axis limits 
  colon b = colon(s) : vector of arrays 
  colormap h=colormap(objects, colormaps, ..., options): Produce surfaces from iData 2D objects with different colormaps 
  combine c = combine(a,b) : combines iData objects 
  commandhistory (s) : show the command history of iData object 
  conj b = conj(s) : conjugate of iData object 
  contour h = contour(s,option) : Plot a 2D/3D object as contour 
  contour3 h = contour3(s,option) : Plot a 2D/3D object as 3D contour 
  contourf h = contourf(s,option) : Plot a 2D/3D object as filled contour 
  conv c = conv(a,b) : computes the convolution of iData objects 
  convn c = convn(a,b) : computes the convolution of an iData object with a response function  
  copyobj b = copyobj(s) : makes a copy of iData object 
  corrcoef c = corrcoef(a,b) : correlation coefficient with an iData object 
  cos b = cos(s) : computes the cosine of iData object 
  cosh b = cosh(s) : computes the hyperbolic cosine of iData object 
  csvwrite f = csvwrite(s, filename, options) : save iData object into a Comma Separated Values (CSV) file 
  ctranspose b = ctranspose(s) : complex conjugate transpose of iData object 
  cumprod s = cumprod(a,dim) : computes the cumulative product of iData objects elements 
  cumsum s = cumsum(a,dim) : computes the cumulative sum of iData objects elements 
  cumtrapz s = cumtrapz(a,dim) : computes the cumulative product of iData objects elements 
  cwt b = cwt(s,dim,scales,wname,'wname',...) : Continuous wavelet transform 
  deBosify iData_Sab: deBosify(s, T): remove the 'Bose' factor (detailed balance) from an experimental/ quantum data set. 
  deconv c = deconv(a,b) : computes the deconvolution of iData objects 
  del2 b = del2(s) : computes the Discrete Laplacian of iData object 
  diff b = diff(s) : computes the difference long 1st axis of iData object 
  disp (s) : display iData object (details) 
  display d = display(s) : display iData object (from command line) 
  doc (iData): iData web page documentation 
  dog s= dog(dim,a) : split iData objects elements along dimension 
  dos iData_Sab: dos(sab): compute the density of states (DOS) 
  double d = double(s) : convert iData into doubles 
  dynamic_range iData_Sab: dynamic_range: crop the S(alpha,beta) to the available dynamic range 
  edit (s) : edit iData object Signal/Monitor 
  end b = end(s,index,n) : end value for iData objects 
  eq c = eq(a,b) : equal comparison of iData objects 
  event c = event(a) : build an event list  
  exp b = exp(s) : exponential value of iData object 
  fft c = fft(a) : computes the Discrete Fourier transform of iData objects 
  fileattrib [attribute, link] = fileattrib(s, field) : return a field Attribute 
  fill fill-in over missing data 
  find d = find(s) : find iData signal non zeros values 
  findfield [match, types, nelements]=findfield(iData, field, option) : look for iData fields 
  findobj [s,...]=findobj(s,...) : look for existing iData objects 
  findstr [match, field]=findstr(s, str, option) : look for strings stored in iData 
  fits [pars,criteria,message,output] = fits(a, model, pars, options, constraints, ...) : fit data set on a model 
  fliplr b = fliplr(s) : Flip object in left/right direction 
  flipud b = flipud(s) : Flip object in up/down direction 
  floor b = floor(s) : lower integer round of iData object 
  full b = full(s) : Convert iData object storage to full matrix 
  ge c = ge(a,b) : greater-than-or-equal comparison of iData objects 
  get [...] = get(s, 'PropertyName', ...) : get iData object properties 
  getalias [link, label,names] = getalias(s, 'AliasName') : get iData alias 
  getaxis [val, lab] = getaxis(s, AxisIndex) : get iData axis value and label 
  getframe frame = getframe(s, dim, options) : create an iData object thumbnail/frame matrix 
  gradient g = gradient(a, dim) : computes the gradient (derivative) of iData objects 
  gt c = gt(a,b) : greater-than comparison of iData objects 
  help c = help(s) : display iData information as a Dialogue window 
  hist (a, axis1, axis2, ...) computes the accumulated histogram from event data sets 
  iData _Sab: iData(sab): convert a iData_Sab back to iData 
  ifft c = ifft(a) : computes the inverse Discrete Fourier transform of iData objects 
  imag b = imag(s) : imaginary part of iData object 
  image h = image(r,g,b, option) : Plot up to 3 images overlayed on the RGB channels 
  imroi : define a region of interest on a data set 
  imwrite f = imwrite(s, filename, format) : save iData object into an image 
  incoherent iData_Sab: multi_phonons_incoherent: compute the multi-phonon contributions in S(q,w) from an initial density of states in the incoherent gaussian approximation 
  ind2sub (s,index) : get indexed element in an iData array 
  interp [b...] = interp(s, ...) : interpolate iData object 
  intersect [ai,bi] = intersect(a, b) : computes object intersection area and values 
  isempty (s) : true for empty iData object 
  isequal c = isequal(a,b) : full numerical equality comparison of iData objects 
  isfield b = isfield(s, field) : check existence of field/alias in iData objects 
  isfinite b = isfinite(s) : True for finite iData object elements 
  isfloat b = isfloat(s) : True for float iData object elements 
  isinf b = isinf(s) : True for infinite iData object elements 
  isinteger b = isinterger(s) : True for integer iData object elements 
  islogical b = islogical(s) : True for logical iData object elements 
  isnan b = isnan(s) : True for NaN iData object elements 
  isnumeric b = isnumeric(s) : True for numeric iData object elements 
  isreal b = isreal(s) : True for real iData object elements 
  isscalar b = isscalar(s) : True for scalar iData objects 
  issparse b = issparse(s) : True for sparse matrix iData object 
  isvector b = isvector(s) : True for vector iData object 
  jacobian [b, j] = jacobian(a, new_axes, 'new_axes_labels'...) : computes the gradient (derivative) of iData objects 
  kmeans [b,c] = kmeans(X, k) : k-means clustering of iData object 
  label b = label(s, alias, label) : Change iData label for a given alias/axis 
  ldivide c = ldivide(a,b) : fast notation for combine iData objects 
  le c = le(a,b) : lower-than-or-equal comparison of iData objects 
  linspace v = linspace(a,b,n) : creates a linearly spaced vector of objects 
  load d = load(s, file, loader, ...): iData file loader 
  log b = log(s) : natural logarithm value of iData object 
  log10 b = log10(s) : base 10 logarithm value of iData object 
  logical d = logical(s) : convert iData into logical array 
  logspace v = logspace(a,b,n) : creates a logarithmically spaced vector of objects 
  lt c = lt(a,b) : lower-than comparison of iData objects 
  max [m,id] = max(a,b, dim) : computes the maximum value of iData object(s) 
  mean b = mean(s, dim) : mean value of iData object 
  median b = median(s, dim) : median value of iData object 
  mesh h = mesh(s,option) : Plot a 2D/3D object as mesh 
  meshgrid s = meshgrid(a) : transforms an iData object so that its axes are grids 
  min [m,id] = min(a,b, dim) : computes the maximum value of iData object(s) 
  minus c = minus(a,b) : computes the difference of iData objects 
  mldivide c = mldivide(a,b) : a\b is fast notation for combine(a,b) 
  moments iData_Sab: moments(sab, M, T, classical): compute Sqw moments/sum rules (harmonic frequencies) 
  mpower c = mpower(a,b) : computes the matrix-power of iData objects 
  mrdivide c = mrdivide(a,b) : computes the division of iData objects 
  mtimes c = mtimes(a,b) : computes the matrix product of iData objects 
  multi_phonons iData_Sqw2D: multi_phonons: compute the integrated multi-phonon DOS from an initial density of states 
  ndims d = ndims(s) : get the dimensionality of iData object 
  ne c = ne(a,b) : not-equal comparison of iData objects 
  norm b = norm(s) : norm-2 of iData object 
  not b = not(s) : computes the logical 'not' of iData object 
  ones s = ones(s,N,M,P,...) : initialize an iData array 
  pack b = pack(a) : compress iData storage to save memory 
  parseparams iData_Sab: parseparams(sab): search for physical quantities in object. 
  pca [b] = pca(X, k) : Principal component analysis of iData object(s) 
  pcolor h = pcolor(s,option) : Plot a 2D/3D object as a flat matrix image 
  peaks [half_width, center, amplitude, baseline] = peaks(s, dim, m) : peak position and width of iData 
  permute c = permute(a, order) : Permute object dimensions from iData objects/arrays 
  plot h = plot(s, method, ...) : plot iData object 
  plot3 h = plot3(s,option) : Plot a 2D/3D object as separate points or semi-transparent volume 
  plus c = plus(a,b) : computes the sum of iData objects 
  power c = power(a,b) : computes the power of iData objects 
  prod s = prod(a,dim) : computes the product of iData objects elements 
  publish b = publish(s) : export the Dataset object as an HTML document. 
  rdivide c = rdivide(a,b) : computes the ratio of iData objects 
  real b = real(s) : real value of iData object 
  reducevolume h = reducevolume(s, factor) : reduce an iData object size 
  reshape c = reshape(a) : reshape the object Signal 
  resize c = resize(a) : resize/rebin the object Signal 
  rmalias s = rmalias(s, AliasName) : removes iData aliases 
  rmaxis s = rmaxis(s, Axis) : delete iData axes 
  rotate s = rotate(a, theta) : computes the rotation of iData objects around the origin 
  round b = round(s) : upper integer round of iData object 
  save f = save(s, filename, format, options) : save iData object into various data formats 
  saveas f = saveas(s, filename, format, options) : save iData object into various data formats 
  scatter h = scatter(s,option) : Plot a 2D/3D object as separate colored points 
  scatter3 h = scatter3(s,option) : Plot a 2D/3D object as separate colored points 
  scattering_cross_section iData_Sab: scattering_cross_section: compute the total neutron scattering cross section for 
  set [s,...] = set(s, 'PropertyName', Propertyvalue, ...) : set iData properties 
  setalias [s,...] = setalias(s, AliasName, AliasLink, {AliasLabel}) : set iData aliases 
  setaxis s = setaxis(s, rank, alias, value) : set iData axes 
  sign b = sign(s) : sign of iData object 
  sin b = sin(s) : computes the sine of iData object 
  single d = single(s) : convert iData into single floats 
  sinh b = sinh(s) : computes the hyperbolic sine of iData object 
  size (s) : get iData object size (number of elements) 
  slice (s) : Plot a 2D/3D object with slice rendering 
  smooth Z = smooth(Y) : smooth iData objects 
  sort s = sort(a,dim) : Sort iData objects axes in ascending or descending order 
  sparse b = sparse(s) : Convert iData object storage to sparse 
  sqr c = sqr(a) : computes the square of iData objects 
  sqrt b = sqrt(s) : square root value of iData object 
  squeeze c = squeeze(a) : remove singleton dimensions from iData objects/arrays 
  std [half_width, center] = std(s, dim) : standard deviation of iData 
  strfind [match, field]=strfind(s, pattern, option) : search for pattern in iData 
  structure_factor iData_Sab: structure_factor: compute the structure factor 
  subplot h = subplot(s) : plot iData array as subplots 
  subsasgn b = subsasgn(a,index,b) : iData indexed assignement 
  subsindex d = subsindex(s) : subscript index for iData objects 
  subsref b = subsref(a,s) : iData indexed references 
  sum s = sum(a,dim) : computes the sum of iData objects elements 
  surf h = surf(s,option) : Plot a 2D/3D object as surface 
  surfc h = surfc(s,option) : Plot a 2D/3D object as surface+contour 
  surfl h = surfl(s,option) : Plot a 2D/3D object as surface with light 
  symmetrize iData_Sab: symmetrize(s): extend the S(alpha,beta) in both beta/energy sides 
  tan b = tan(s) : computes the tangent of iData object 
  tanh b = tanh(s) : computes the hyperbolic tangent of iData object 
  thermochemistry iData_Sab: thermochemistry(sab, T): compute thermodynamic quantities for 2D S(alpha,beta) data sets. 
  times c = times(a,b) : computes the product of iData objects 
  title b = title(s,label) : Change iData Signal label 
  transpose b = transpose(s) : non-conjugate transpose of iData object 
  trapz s = trapz(a,dim) : computes the integral of iData objects elements along given dimension 
  uminus b = uminus(s) : opposite value of iData object 
  union [ai,bi] = union(a, b) : computes object union area and values 
  unique s = unique(a,dim) : set unique iData objects axes with no repetitions 
  uplus b = uplus(s) : makes a copy of iData object 
  version v = version(iData): iData class version 
  waterfall h = waterfall(s,option) : Plot a 2D/3D object as waterfall (side by side lines) 
  xcorr c = xcorr(a,b,shape) : computes the correlation of iData objects 
  xlabel b = xlabel(s,label) : Change iData X axis label 
  xlim b = xlim(s,[ xmin xmax ]) : Reduce iData X axis limits 
  xmlwrite f = xmlwrite(s, filename) : save iData object into an XML file 
  ylabel b = ylabel(s,label) : Change iData Y axis label 
  ylim b = ylim(s,[ ymin ymax ]) : Reduce iData Y axis limits 
  zeros s = zeros(s,N,M,P,...) : initialize an iData array 
  zlabel b = zlabel(s,label) : Change iData Z axis label 
  zlim b = zlim(s,[ zmin zmax ]) : Reduce iData Z axis limits