ARTS
2.2.66
|
#include <iostream>
#include <cmath>
#include <stdexcept>
#include "array.h"
#include "math_funcs.h"
#include "logic.h"
#include "mystring.h"
Go to the source code of this file.
Variables | |
const Numeric | DEG2RAD |
const Numeric | PI |
Numeric AngIntegrate_trapezoid | ( | ConstMatrixView | Integrand, |
ConstVectorView | za_grid, | ||
ConstVectorView | aa_grid | ||
) |
AngIntegrate_trapezoid.
Performs an integration of a matrix over all directions defined in angular grids using the trapezoidal integration method.
Integrand | The Matrix to be integrated |
za_grid | The zenith angle grid |
aa_grid | The azimuth angle grid |
Definition at line 327 of file math_funcs.cc.
References DEG2RAD, is_size(), and ConstVectorView::nelem().
Referenced by AngIntegrate_trapezoid_opti(), doit_scat_fieldNormalize(), and scat_data_arrayCheck().
Numeric AngIntegrate_trapezoid | ( | ConstVectorView | Integrand, |
ConstVectorView | za_grid | ||
) |
AngIntegrate_trapezoid.
Performs an integration of a matrix over all directions defined in angular grids using the trapezoidal integration method. The integrand is independant of the azimuth angle. The integration over the azimuth angle gives a 2*PI
Integrand | Input : The vector to be integrated |
za_grid | Input : The zenith angle grid |
Definition at line 438 of file math_funcs.cc.
References DEG2RAD, is_size(), ConstVectorView::nelem(), and PI.
Numeric AngIntegrate_trapezoid_opti | ( | ConstMatrixView | Integrand, |
ConstVectorView | za_grid, | ||
ConstVectorView | aa_grid, | ||
ConstVectorView | grid_stepsize | ||
) |
AngIntegrate_trapezoid_opti.
Performs an integration of a matrix over all directions defined in angular grids using the trapezoidal integration method.
In addition to the "old fashined" integration method, it checks whether the stepsize is constant. If it is, it uses a faster method, if not, it uses the old one.
Integrand | Input : The Matrix to be integrated |
za_grid | Input : The zenith angle grid |
aa_grid | Input : The azimuth angle grid |
grid_stepsize | Input : stepsize of the grid |
Definition at line 377 of file math_funcs.cc.
References AngIntegrate_trapezoid(), DEG2RAD, is_size(), ConstVectorView::nelem(), and temp.
Referenced by doit_scat_fieldCalc(), doit_scat_fieldCalcLimb(), and test_AngIntegrate_trapezoid_opti().
fac
Calculates the factorial.
The function asserts that n must be >= 0
n | Nominator |
Definition at line 68 of file math_funcs.cc.
Referenced by addspec_(), faddeeva_algorithm_916(), g_legendre_poly_norm_schmidt(), g_legendre_poly_norm_schmidt_deriv(), g_legendre_poly_norm_schmidt_deriv1(), g_legendre_poly_norm_schmidt_deriv2(), g_legendre_poly_norm_schmidt_deriv3(), g_legendre_poly_norm_schmidt_deriv4(), hui_etal_1978_lineshape(), iyCloudRadar(), legendre_poly_norm_schmidt(), legendre_poly_norm_schmidt_deriv(), lineshape_CO2_lorentz(), lineshape_doppler(), lineshape_lorentz(), lineshape_voigt_drayson(), lineshape_voigt_kuntz3(), lineshape_voigt_kuntz4(), lineshape_voigt_kuntz6(), MPM93_N2_continuum(), pnd_fieldGM58(), pnd_fieldMP48(), pnd_fieldSS70(), specular_losCalc(), and xsec_species().
Gamma Function.
Returns gamma function of real argument 'x'. Returns error msg if argument is a negative integer or 0, or use lgamma function if argument exceeds 32.0.
xx | Numeric |
Definition at line 497 of file math_funcs.cc.
References lgamma_func().
Referenced by IWCtopnd_MH97(), LWCtopnd(), and LWCtopnd2().
integer_div
Performs an integer division.
The function asserts that the reminder of the division x/y is 0.
x | Nominator |
y | Denominator |
Definition at line 95 of file math_funcs.cc.
References is_multiple().
Numeric LagrangeInterpol4 | ( | ConstVectorView | x, |
ConstVectorView | y, | ||
const Numeric | a | ||
) |
Lagrange Interpolation (internal function).
This function calculates the Lagrange interpolation of four interpolation points as described in Lagrange Interpolating Polynomial.
The input are the four x-axis values [x0,x1,x2,x3] and their associated y-axis values [y0,y1,y2,y3]. Furthermore the x-axis point "a" at which the interpolation should be calculated must be given as input. NOTE that the relation x2 =< x < x3 MUST hold!
x | x-vector with four elements [x0,x1,x2,x3] |
y | y-vector with four elements: yj = y(xj), j=0,1,2,3 |
a | interpolation point on the x-axis with x1 =< a < x2 |
Definition at line 124 of file math_funcs.cc.
References ConstVectorView::nelem().
Numeric last | ( | ConstVectorView | x | ) |
last
Returns the last value of a vector.
x | A vector. |
Definition at line 183 of file math_funcs.cc.
References ConstVectorView::nelem().
Referenced by antenna2d_simplified(), chk_scat_data(), find_effective_channel_boundaries(), iyFOS(), mixer_matrix(), pos2refell_r(), refr_index_airFreeElectrons(), sensor_responseAntenna(), sensor_responseBackend(), sensor_responseMixer(), sensor_summation_vector(), and ySimpleSpectrometer().
Index last | ( | const ArrayOfIndex & | x | ) |
last
Returns the last value of an index array.
x | An index array. |
Definition at line 201 of file math_funcs.cc.
References Array< base >::nelem().
ln Gamma Function
Returns ln of gamma function for real argument 'x'.
xx | Numeric |
Definition at line 538 of file math_funcs.cc.
Referenced by gamma_func().
linspace
Linearly spaced vector with specified spacing.
The first element of x is always start. The next value is start+step etc. Note that the last value can deviate from stop. The step can be both positive and negative. (in Matlab notation: start:step:stop)
Size of result is adjusted within this function!
x | Output: linearly spaced vector |
start | first value in x |
stop | last value of x <= stop |
step | distance between values in x |
Definition at line 228 of file math_funcs.cc.
References Vector::resize().
Referenced by VectorLinSpace(), VectorLogSpace(), and ySimpleSpectrometer().
nlinspace
Linearly spaced vector with specified length.
Returns a vector equally and linearly spaced between start and stop of length n. (equals the Matlab function linspace)
The length must be > 1.
x | Output: linearly spaced vector |
start | first value in x |
stop | last value of x <= stop |
n | length of x |
Definition at line 261 of file math_funcs.cc.
References Vector::resize().
Referenced by AntennaConstantGaussian1D(), calc_ssp_fixed_test(), calc_ssp_random_test(), doit_scat_fieldCalcLimb(), DoitAngularGridsSet(), DoitScatteringDataPrepare(), f_gridFromSensorAMSU(), f_gridFromSensorHIRS(), gaussian_response_autogrid(), pha_mat_sptFromDataDOITOpt(), pha_mat_sptFromMonoData(), pnd_fieldZero(), sensor_responseFillFgrid(), and VectorNLinSpace().
nlogspace
Logarithmically spaced vector with specified length.
Returns a vector logarithmically spaced vector between start and stop of length n (equals the Matlab function logspace)
The length must be > 1.
x | Output: logarithmically spaced vector |
start | first value in x |
stop | last value of x <= stop |
n | length of x |
Definition at line 294 of file math_funcs.cc.
References Vector::resize().
Referenced by VectorNLogSpace().
sign
Returns the sign of a numeric value.
The function returns 1 if the value is greater than zero, 0 if it equals zero and -1 if it is less than zero.
x | A Numeric. |
Definition at line 473 of file math_funcs.cc.
Referenced by binostream::float2ieee_double(), binostream::float2ieee_single(), geompath_from_r1_to_r2(), binistream::ieee_double2float(), binistream::ieee_single2float(), lat_crossing_3d(), poslos2cart(), r_crossing_2d(), raytrace_2d_linear_basic(), and specular_losCalc().
void unitl | ( | Vector & | x | ) |
lunit
Normalises a vector to have unit length.
The standard Euclidean norm is used (2-norm).
param x In/Out: A vector.
Definition at line 578 of file math_funcs.cc.
References ConstVectorView::nelem().
const Numeric DEG2RAD |
Referenced by AngIntegrate_trapezoid(), and AngIntegrate_trapezoid_opti().
const Numeric PI |
Referenced by AngIntegrate_trapezoid().